<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Flow-IPC: ipc::session::shm::arena_lend::jemalloc::Client_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">Flow-IPC<span id="projectnumber">&#160;1.0.2</span>
   </div>
   <div id="projectbrief">Flow-IPC project: Full implementation reference.</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceipc.html">ipc</a></li><li class="navelem"><a class="el" href="namespaceipc_1_1session.html">session</a></li><li class="navelem"><a class="el" href="namespaceipc_1_1session_1_1shm.html">shm</a></li><li class="navelem"><a class="el" href="namespaceipc_1_1session_1_1shm_1_1arena__lend.html">arena_lend</a></li><li class="navelem"><a class="el" href="namespaceipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc.html">jemalloc</a></li><li class="navelem"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html">Client_session_impl</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="#related">Related Functions</a> &#124;
<a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl-members.html">List of all members</a>  </div>
  <div class="headertitle"><div class="title">ipc::session::shm::arena_lend::jemalloc::Client_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt; Class Template Reference</div></div>
</div><!--header-->
<div class="contents">

<p>Core internally-used implementation of <a class="el" href="namespaceipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc.html#a837b4566cb2a734eb0ba58f285d084fe" title="This is to session::Client_session what shm::arena_lend::jemalloc::Server_session is to session::Serv...">shm::arena_lend::jemalloc::Client_session</a>: it is to the latter what its <code>public</code> super-class <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html" title="Core internally-used implementation of shm::arena_lend::jemalloc::Client_session: it is to the latter...">Client_session_impl</a> is to <a class="el" href="namespaceipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc.html#a837b4566cb2a734eb0ba58f285d084fe" title="This is to session::Client_session what shm::arena_lend::jemalloc::Server_session is to session::Serv...">Client_session</a>.  
 <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="ipc__shm__arena__lend_2src_2ipc_2session_2detail_2shm_2arena__lend_2jemalloc_2client__session__impl_8hpp_source.html">client_session_impl.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ipc::session::shm::arena_lend::jemalloc::Client_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl__inherit__graph.svg" width="1183" height="128"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for ipc::session::shm::arena_lend::jemalloc::Client_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl__coll__graph.svg" width="2070" height="1002"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:adcac8ed7fad784120c032276510dc409"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html#adcac8ed7fad784120c032276510dc409">Base</a> = <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html">Session_impl</a>&lt; <a class="el" href="classipc_1_1session_1_1Client__session__impl.html">session::Client_session_impl</a>&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload, session::schema::ShmType::JEMALLOC, true &gt; &gt;</td></tr>
<tr class="memdesc:adcac8ed7fad784120c032276510dc409"><td class="mdescLeft">&#160;</td><td class="mdescRight">Short-hand for our non-<code>virtual</code> base.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html#adcac8ed7fad784120c032276510dc409">More...</a><br /></td></tr>
<tr class="separator:adcac8ed7fad784120c032276510dc409"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html">ipc::session::shm::arena_lend::jemalloc::Session_impl&lt; session::Client_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload, session::schema::ShmType::JEMALLOC, true &gt; &gt;</a></td></tr>
<tr class="memitem:a445e945051a370bb71b124840f994a3b inherit pub_types_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a445e945051a370bb71b124840f994a3b">Base</a> = <a class="el" href="classipc_1_1session_1_1Client__session__impl.html">session::Client_session_impl</a>&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload, session::schema::ShmType::JEMALLOC, true &gt;</td></tr>
<tr class="memdesc:a445e945051a370bb71b124840f994a3b inherit pub_types_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Short-hand for base class.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a445e945051a370bb71b124840f994a3b">More...</a><br /></td></tr>
<tr class="separator:a445e945051a370bb71b124840f994a3b inherit pub_types_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49d262197f9cedd45cf927f4927102a7 inherit pub_types_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a49d262197f9cedd45cf927f4927102a7">Session_base_obj</a> = typename Base::Session_base_obj</td></tr>
<tr class="memdesc:a49d262197f9cedd45cf927f4927102a7 inherit pub_types_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Short-hand for Session_base super-class.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a49d262197f9cedd45cf927f4927102a7">More...</a><br /></td></tr>
<tr class="separator:a49d262197f9cedd45cf927f4927102a7 inherit pub_types_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05a924415ca44783d3ef5c0efb31f42e inherit pub_types_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a05a924415ca44783d3ef5c0efb31f42e">Arena</a> = ipc::shm::arena_lend::jemalloc::Ipc_arena</td></tr>
<tr class="memdesc:a05a924415ca44783d3ef5c0efb31f42e inherit pub_types_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See shm::arena_lend::jemalloc::Session_mv counterpart for public description.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a05a924415ca44783d3ef5c0efb31f42e">More...</a><br /></td></tr>
<tr class="separator:a05a924415ca44783d3ef5c0efb31f42e inherit pub_types_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acde57c6511b5c4aef9079f116f8ca6a8 inherit pub_types_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#acde57c6511b5c4aef9079f116f8ca6a8">Shm_session</a> = jemalloc::Shm_session</td></tr>
<tr class="memdesc:acde57c6511b5c4aef9079f116f8ca6a8 inherit pub_types_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See shm::arena_lend::jemalloc::Session_mv counterpart for public description.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#acde57c6511b5c4aef9079f116f8ca6a8">More...</a><br /></td></tr>
<tr class="separator:acde57c6511b5c4aef9079f116f8ca6a8 inherit pub_types_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae5dfc5e76df6d857163d2e87da78c13 inherit pub_types_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#aae5dfc5e76df6d857163d2e87da78c13">Structured_channel</a> = <a class="el" href="namespaceipc_1_1transport_1_1struc_1_1shm_1_1arena__lend_1_1jemalloc.html#ab68a69ad42d97d754f4e77c8cadd3a5e">transport::struc::shm::arena_lend::jemalloc::Channel</a>&lt; typename <a class="el" href="classipc_1_1session_1_1Session__base.html#a71f02a809d667c23ff8af29a96940bd1">Base::Channel_obj</a>, Message_body &gt;</td></tr>
<tr class="memdesc:aae5dfc5e76df6d857163d2e87da78c13 inherit pub_types_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See shm::arena_lend::jemalloc::Session_mv counterpart for public description.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#aae5dfc5e76df6d857163d2e87da78c13">More...</a><br /></td></tr>
<tr class="separator:aae5dfc5e76df6d857163d2e87da78c13 inherit pub_types_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8592edcdb25d0c824a2e72e1539c884f inherit pub_types_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a8592edcdb25d0c824a2e72e1539c884f">Structured_msg_builder_config</a> = typename transport::struc::shm::arena_lend::jemalloc::Builder::Config</td></tr>
<tr class="memdesc:a8592edcdb25d0c824a2e72e1539c884f inherit pub_types_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See shm::arena_lend::jemalloc::Session_mv counterpart for public description.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a8592edcdb25d0c824a2e72e1539c884f">More...</a><br /></td></tr>
<tr class="separator:a8592edcdb25d0c824a2e72e1539c884f inherit pub_types_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5fc836fca12ea5f4de580c15d4225d1 inherit pub_types_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#af5fc836fca12ea5f4de580c15d4225d1">Structured_msg_reader_config</a> = typename transport::struc::shm::arena_lend::jemalloc::Reader::Config</td></tr>
<tr class="memdesc:af5fc836fca12ea5f4de580c15d4225d1 inherit pub_types_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See shm::arena_lend::jemalloc::Session_mv counterpart for public description.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#af5fc836fca12ea5f4de580c15d4225d1">More...</a><br /></td></tr>
<tr class="separator:af5fc836fca12ea5f4de580c15d4225d1 inherit pub_types_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a314a767c3ed26af5e3eb0f6b640e1f1b inherit pub_types_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a314a767c3ed26af5e3eb0f6b640e1f1b">Blob</a> = Shm_session::Blob</td></tr>
<tr class="memdesc:a314a767c3ed26af5e3eb0f6b640e1f1b inherit pub_types_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias for a light-weight blob used in <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#ab6482736670c2bfb6a8bc259bfdb17fa" title="See shm::arena_lend::jemalloc::Session_mv counterpart.">borrow_object()</a> and <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a76bdd6d7541039ab356051fcc9a01afa" title="See shm::arena_lend::jemalloc::Session_mv counterpart.">lend_object()</a>.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a314a767c3ed26af5e3eb0f6b640e1f1b">More...</a><br /></td></tr>
<tr class="separator:a314a767c3ed26af5e3eb0f6b640e1f1b inherit pub_types_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classipc_1_1session_1_1Client__session__impl"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classipc_1_1session_1_1Client__session__impl')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classipc_1_1session_1_1Client__session__impl.html">ipc::session::Client_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload, session::schema::ShmType::JEMALLOC, true &gt;</a></td></tr>
<tr class="memitem:acd9519f313206fdd2cd6ca91efb79516 inherit pub_types_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#acd9519f313206fdd2cd6ca91efb79516">Base</a> = <a class="el" href="classipc_1_1session_1_1Session__base.html">Session_base</a>&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;</td></tr>
<tr class="memdesc:acd9519f313206fdd2cd6ca91efb79516 inherit pub_types_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Short-hand for base type.  <a href="classipc_1_1session_1_1Client__session__impl.html#acd9519f313206fdd2cd6ca91efb79516">More...</a><br /></td></tr>
<tr class="separator:acd9519f313206fdd2cd6ca91efb79516 inherit pub_types_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d1a81d91f59edf7fd3f5ea104294a7c inherit pub_types_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#a7d1a81d91f59edf7fd3f5ea104294a7c">Session_base_obj</a> = <a class="el" href="classipc_1_1session_1_1Client__session__impl.html#acd9519f313206fdd2cd6ca91efb79516">Base</a></td></tr>
<tr class="memdesc:a7d1a81d91f59edf7fd3f5ea104294a7c inherit pub_types_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Short-hand for Session_base super-class.  <a href="classipc_1_1session_1_1Client__session__impl.html#a7d1a81d91f59edf7fd3f5ea104294a7c">More...</a><br /></td></tr>
<tr class="separator:a7d1a81d91f59edf7fd3f5ea104294a7c inherit pub_types_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a994a2f0b281fdeaeb6c09f6d91df351a inherit pub_types_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#a994a2f0b281fdeaeb6c09f6d91df351a">Channel_obj</a> = typename <a class="el" href="classipc_1_1session_1_1Session__base.html#a71f02a809d667c23ff8af29a96940bd1">Base::Channel_obj</a></td></tr>
<tr class="memdesc:a994a2f0b281fdeaeb6c09f6d91df351a inherit pub_types_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Client_session_mv counterpart.  <a href="classipc_1_1session_1_1Client__session__impl.html#a994a2f0b281fdeaeb6c09f6d91df351a">More...</a><br /></td></tr>
<tr class="separator:a994a2f0b281fdeaeb6c09f6d91df351a inherit pub_types_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab1b23e3370a77db375a50ab156b5662 inherit pub_types_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#aab1b23e3370a77db375a50ab156b5662">Channels</a> = typename <a class="el" href="classipc_1_1session_1_1Session__base.html#a638232ef74a0eb80aeb4f027ee06f9bf">Base::Channels</a></td></tr>
<tr class="memdesc:aab1b23e3370a77db375a50ab156b5662 inherit pub_types_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Session_mv counterpart.  <a href="classipc_1_1session_1_1Client__session__impl.html#aab1b23e3370a77db375a50ab156b5662">More...</a><br /></td></tr>
<tr class="separator:aab1b23e3370a77db375a50ab156b5662 inherit pub_types_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae457d7b16843699006feb43e1073296a inherit pub_types_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#ae457d7b16843699006feb43e1073296a">Mdt_payload_obj</a> = typename <a class="el" href="classipc_1_1session_1_1Session__base.html#a35234981ca87cc2f6b118b3e52452ea8">Base::Mdt_payload_obj</a></td></tr>
<tr class="memdesc:ae457d7b16843699006feb43e1073296a inherit pub_types_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Client_session_mv counterpart.  <a href="classipc_1_1session_1_1Client__session__impl.html#ae457d7b16843699006feb43e1073296a">More...</a><br /></td></tr>
<tr class="separator:ae457d7b16843699006feb43e1073296a inherit pub_types_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0ad69f676fc1260a3c493781fbbb81d inherit pub_types_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#ad0ad69f676fc1260a3c493781fbbb81d">Mdt_reader_ptr</a> = typename <a class="el" href="classipc_1_1session_1_1Session__base.html#ace4dab42adec6354cc66081dd218ac71">Base::Mdt_reader_ptr</a></td></tr>
<tr class="memdesc:ad0ad69f676fc1260a3c493781fbbb81d inherit pub_types_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Client_session_mv counterpart.  <a href="classipc_1_1session_1_1Client__session__impl.html#ad0ad69f676fc1260a3c493781fbbb81d">More...</a><br /></td></tr>
<tr class="separator:ad0ad69f676fc1260a3c493781fbbb81d inherit pub_types_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5a3539f5e10933ff4abc7cde1056798 inherit pub_types_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#ad5a3539f5e10933ff4abc7cde1056798">Mdt_builder</a> = typename <a class="el" href="classipc_1_1session_1_1Session__base.html#a7d68bbb8c0c09983619d563bca30bd45">Base::Mdt_builder</a></td></tr>
<tr class="memdesc:ad5a3539f5e10933ff4abc7cde1056798 inherit pub_types_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Client_session_mv counterpart.  <a href="classipc_1_1session_1_1Client__session__impl.html#ad5a3539f5e10933ff4abc7cde1056798">More...</a><br /></td></tr>
<tr class="separator:ad5a3539f5e10933ff4abc7cde1056798 inherit pub_types_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d93e6080abf3b0827b97e084f5e8356 inherit pub_types_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#a9d93e6080abf3b0827b97e084f5e8356">Mdt_builder_ptr</a> = typename <a class="el" href="classipc_1_1session_1_1Session__base.html#a4a7a5b83f6ba8bd505685636eabc012b">Base::Mdt_builder_ptr</a></td></tr>
<tr class="memdesc:a9d93e6080abf3b0827b97e084f5e8356 inherit pub_types_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Client_session_mv counterpart.  <a href="classipc_1_1session_1_1Client__session__impl.html#a9d93e6080abf3b0827b97e084f5e8356">More...</a><br /></td></tr>
<tr class="separator:a9d93e6080abf3b0827b97e084f5e8356 inherit pub_types_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95c690ae89ac5e4017dd2ac030703dae inherit pub_types_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#a95c690ae89ac5e4017dd2ac030703dae">Structured_msg_builder_config</a> = typename <a class="el" href="classipc_1_1session_1_1Session__base.html#aee0db48505c84d3553b7110a9a815036">Base::Structured_msg_builder_config</a></td></tr>
<tr class="memdesc:a95c690ae89ac5e4017dd2ac030703dae inherit pub_types_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Session_mv counterpart.  <a href="classipc_1_1session_1_1Client__session__impl.html#a95c690ae89ac5e4017dd2ac030703dae">More...</a><br /></td></tr>
<tr class="separator:a95c690ae89ac5e4017dd2ac030703dae inherit pub_types_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae82914b6c13a8ff1b8ad9b2b179d4d74 inherit pub_types_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#ae82914b6c13a8ff1b8ad9b2b179d4d74">Structured_msg_reader_config</a> = typename <a class="el" href="classipc_1_1session_1_1Session__base.html#abd854f2b9316361ef18f15610c242d4b">Base::Structured_msg_reader_config</a></td></tr>
<tr class="memdesc:ae82914b6c13a8ff1b8ad9b2b179d4d74 inherit pub_types_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Session_mv counterpart.  <a href="classipc_1_1session_1_1Client__session__impl.html#ae82914b6c13a8ff1b8ad9b2b179d4d74">More...</a><br /></td></tr>
<tr class="separator:ae82914b6c13a8ff1b8ad9b2b179d4d74 inherit pub_types_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classipc_1_1session_1_1Session__base"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classipc_1_1session_1_1Session__base')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classipc_1_1session_1_1Session__base.html">ipc::session::Session_base&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;</a></td></tr>
<tr class="memitem:a848c0f5247644ada0f8b0ab816eedda8 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a848c0f5247644ada0f8b0ab816eedda8">Persistent_mq_handle_from_cfg</a> = std::conditional_t&lt;!<a class="el" href="classipc_1_1session_1_1Session__base.html#a27a5731a648effb6b4b42f0312affa74">S_MQS_ENABLED</a>, <a class="el" href="classipc_1_1transport_1_1Null__peer.html">transport::Null_peer</a>, std::conditional_t&lt; S_MQ_TYPE_OR_NONE==schema::MqType::POSIX, <a class="el" href="classipc_1_1transport_1_1Posix__mq__handle.html">transport::Posix_mq_handle</a>, <a class="el" href="classipc_1_1transport_1_1Bipc__mq__handle.html">transport::Bipc_mq_handle</a> &gt; &gt;</td></tr>
<tr class="memdesc:a848c0f5247644ada0f8b0ab816eedda8 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Relevant only if <a class="el" href="classipc_1_1session_1_1Session__base.html#a27a5731a648effb6b4b42f0312affa74" title="See Session_mv.">S_MQS_ENABLED</a>, this is the Persistent_mq_handle-concept impl type specified by the user via <code>S_MQ_TYPE_OR_NONE</code>.  <a href="classipc_1_1session_1_1Session__base.html#a848c0f5247644ada0f8b0ab816eedda8">More...</a><br /></td></tr>
<tr class="separator:a848c0f5247644ada0f8b0ab816eedda8 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71f02a809d667c23ff8af29a96940bd1 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a71f02a809d667c23ff8af29a96940bd1">Channel_obj</a> = std::conditional_t&lt; <a class="el" href="classipc_1_1session_1_1Session__base.html#a27a5731a648effb6b4b42f0312affa74">S_MQS_ENABLED</a>, std::conditional_t&lt; S_TRANSMIT_NATIVE_HANDLES, <a class="el" href="classipc_1_1transport_1_1Mqs__socket__stream__channel.html">transport::Mqs_socket_stream_channel</a>&lt; true, <a class="el" href="classipc_1_1session_1_1Session__base.html#a848c0f5247644ada0f8b0ab816eedda8">Persistent_mq_handle_from_cfg</a> &gt;, <a class="el" href="classipc_1_1transport_1_1Mqs__channel.html">transport::Mqs_channel</a>&lt; true, <a class="el" href="classipc_1_1session_1_1Session__base.html#a848c0f5247644ada0f8b0ab816eedda8">Persistent_mq_handle_from_cfg</a> &gt; &gt;, std::conditional_t&lt; S_TRANSMIT_NATIVE_HANDLES, <a class="el" href="classipc_1_1transport_1_1Socket__stream__channel.html">transport::Socket_stream_channel</a>&lt; true &gt;, <a class="el" href="classipc_1_1transport_1_1Socket__stream__channel__of__blobs.html">transport::Socket_stream_channel_of_blobs</a>&lt; true &gt; &gt; &gt;</td></tr>
<tr class="memdesc:a71f02a809d667c23ff8af29a96940bd1 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Session__mv.html" title="Implements the Session concept when it is in PEER state.">Session_mv</a> (or <a class="el" href="classipc_1_1session_1_1Session.html" title="A documentation-only concept defining the local side of an IPC conversation (session) with another en...">Session</a> concept).  <a href="classipc_1_1session_1_1Session__base.html#a71f02a809d667c23ff8af29a96940bd1">More...</a><br /></td></tr>
<tr class="separator:a71f02a809d667c23ff8af29a96940bd1 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a638232ef74a0eb80aeb4f027ee06f9bf inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a638232ef74a0eb80aeb4f027ee06f9bf">Channels</a> = std::vector&lt; <a class="el" href="classipc_1_1session_1_1Session__base.html#a71f02a809d667c23ff8af29a96940bd1">Channel_obj</a> &gt;</td></tr>
<tr class="memdesc:a638232ef74a0eb80aeb4f027ee06f9bf inherit pub_types_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Session__mv.html" title="Implements the Session concept when it is in PEER state.">Session_mv</a>. Note: If changed from <code>vector</code> please update those doc headers too.  <a href="classipc_1_1session_1_1Session__base.html#a638232ef74a0eb80aeb4f027ee06f9bf">More...</a><br /></td></tr>
<tr class="separator:a638232ef74a0eb80aeb4f027ee06f9bf inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35234981ca87cc2f6b118b3e52452ea8 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a35234981ca87cc2f6b118b3e52452ea8">Mdt_payload_obj</a> = Mdt_payload</td></tr>
<tr class="memdesc:a35234981ca87cc2f6b118b3e52452ea8 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Session__mv.html" title="Implements the Session concept when it is in PEER state.">Session_mv</a> (or <a class="el" href="classipc_1_1session_1_1Session.html" title="A documentation-only concept defining the local side of an IPC conversation (session) with another en...">Session</a> concept).  <a href="classipc_1_1session_1_1Session__base.html#a35234981ca87cc2f6b118b3e52452ea8">More...</a><br /></td></tr>
<tr class="separator:a35234981ca87cc2f6b118b3e52452ea8 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace4dab42adec6354cc66081dd218ac71 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#ace4dab42adec6354cc66081dd218ac71">Mdt_reader_ptr</a> = boost::shared_ptr&lt; typename transport::struc::schema::Metadata&lt; <a class="el" href="classipc_1_1session_1_1Session__base.html#a35234981ca87cc2f6b118b3e52452ea8">Mdt_payload_obj</a> &gt;::Reader &gt;</td></tr>
<tr class="memdesc:ace4dab42adec6354cc66081dd218ac71 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Session__mv.html" title="Implements the Session concept when it is in PEER state.">Session_mv</a> (or <a class="el" href="classipc_1_1session_1_1Session.html" title="A documentation-only concept defining the local side of an IPC conversation (session) with another en...">Session</a> concept).  <a href="classipc_1_1session_1_1Session__base.html#ace4dab42adec6354cc66081dd218ac71">More...</a><br /></td></tr>
<tr class="separator:ace4dab42adec6354cc66081dd218ac71 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d68bbb8c0c09983619d563bca30bd45 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a7d68bbb8c0c09983619d563bca30bd45">Mdt_builder</a> = typename transport::struc::schema::Metadata&lt; <a class="el" href="classipc_1_1session_1_1Session__base.html#a35234981ca87cc2f6b118b3e52452ea8">Mdt_payload_obj</a> &gt;<a class="el" href="classStruct__builder__config_1_1Builder.html">::Builder</a></td></tr>
<tr class="memdesc:a7d68bbb8c0c09983619d563bca30bd45 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Session__mv.html" title="Implements the Session concept when it is in PEER state.">Session_mv</a> (or <a class="el" href="classipc_1_1session_1_1Session.html" title="A documentation-only concept defining the local side of an IPC conversation (session) with another en...">Session</a> concept).  <a href="classipc_1_1session_1_1Session__base.html#a7d68bbb8c0c09983619d563bca30bd45">More...</a><br /></td></tr>
<tr class="separator:a7d68bbb8c0c09983619d563bca30bd45 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a7a5b83f6ba8bd505685636eabc012b inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a4a7a5b83f6ba8bd505685636eabc012b">Mdt_builder_ptr</a> = boost::shared_ptr&lt; <a class="el" href="classipc_1_1session_1_1Session__base.html#a7d68bbb8c0c09983619d563bca30bd45">Mdt_builder</a> &gt;</td></tr>
<tr class="memdesc:a4a7a5b83f6ba8bd505685636eabc012b inherit pub_types_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Session__mv.html" title="Implements the Session concept when it is in PEER state.">Session_mv</a> (or <a class="el" href="classipc_1_1session_1_1Session.html" title="A documentation-only concept defining the local side of an IPC conversation (session) with another en...">Session</a> concept).  <a href="classipc_1_1session_1_1Session__base.html#a4a7a5b83f6ba8bd505685636eabc012b">More...</a><br /></td></tr>
<tr class="separator:a4a7a5b83f6ba8bd505685636eabc012b inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee0db48505c84d3553b7110a9a815036 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#aee0db48505c84d3553b7110a9a815036">Structured_msg_builder_config</a> = <a class="el" href="structipc_1_1transport_1_1struc_1_1Heap__fixed__builder_1_1Config.html">transport::struc::Heap_fixed_builder::Config</a></td></tr>
<tr class="memdesc:aee0db48505c84d3553b7110a9a815036 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Session__mv.html" title="Implements the Session concept when it is in PEER state.">Session_mv</a> (or <a class="el" href="classipc_1_1session_1_1Session.html" title="A documentation-only concept defining the local side of an IPC conversation (session) with another en...">Session</a> concept).  <a href="classipc_1_1session_1_1Session__base.html#aee0db48505c84d3553b7110a9a815036">More...</a><br /></td></tr>
<tr class="separator:aee0db48505c84d3553b7110a9a815036 inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd854f2b9316361ef18f15610c242d4b inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#abd854f2b9316361ef18f15610c242d4b">Structured_msg_reader_config</a> = <a class="el" href="structipc_1_1transport_1_1struc_1_1Heap__reader_1_1Config.html">transport::struc::Heap_reader::Config</a></td></tr>
<tr class="memdesc:abd854f2b9316361ef18f15610c242d4b inherit pub_types_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Session__mv.html" title="Implements the Session concept when it is in PEER state.">Session_mv</a> (or <a class="el" href="classipc_1_1session_1_1Session.html" title="A documentation-only concept defining the local side of an IPC conversation (session) with another en...">Session</a> concept).  <a href="classipc_1_1session_1_1Session__base.html#abd854f2b9316361ef18f15610c242d4b">More...</a><br /></td></tr>
<tr class="separator:abd854f2b9316361ef18f15610c242d4b inherit pub_types_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a2b5cecc4850a58fd597542df2fc4c890"><td class="memTemplParams" colspan="2">template&lt;typename On_passive_open_channel_handler , typename Task_err &gt; </td></tr>
<tr class="memitem:a2b5cecc4850a58fd597542df2fc4c890"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html#a2b5cecc4850a58fd597542df2fc4c890">Client_session_impl</a> (flow::log::Logger *logger_ptr, const <a class="el" href="structipc_1_1session_1_1Client__app.html">Client_app</a> &amp;cli_app_ref, const <a class="el" href="structipc_1_1session_1_1Server__app.html">Server_app</a> &amp;srv_app_ref, Task_err &amp;&amp;on_err_func, On_passive_open_channel_handler &amp;&amp;on_passive_open_channel_func)</td></tr>
<tr class="memdesc:a2b5cecc4850a58fd597542df2fc4c890"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Client__session__impl.html#a8fe80ed65e416a2d1fcadb045dac0fcf" title="See Client_session_mv counterpart.">session::Client_session_impl::Client_session_impl()</a> counterpart.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html#a2b5cecc4850a58fd597542df2fc4c890">More...</a><br /></td></tr>
<tr class="separator:a2b5cecc4850a58fd597542df2fc4c890"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90282a453208db4865c62aacf35e3dc3"><td class="memTemplParams" colspan="2">template&lt;typename Task_err &gt; </td></tr>
<tr class="memitem:a90282a453208db4865c62aacf35e3dc3"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html#a90282a453208db4865c62aacf35e3dc3">Client_session_impl</a> (flow::log::Logger *logger_ptr, const <a class="el" href="structipc_1_1session_1_1Client__app.html">Client_app</a> &amp;cli_app_ref, const <a class="el" href="structipc_1_1session_1_1Server__app.html">Server_app</a> &amp;srv_app_ref, Task_err &amp;&amp;on_err_func)</td></tr>
<tr class="memdesc:a90282a453208db4865c62aacf35e3dc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Client__session__impl.html#a8fe80ed65e416a2d1fcadb045dac0fcf" title="See Client_session_mv counterpart.">session::Client_session_impl::Client_session_impl()</a> counterpart.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html#a90282a453208db4865c62aacf35e3dc3">More...</a><br /></td></tr>
<tr class="separator:a90282a453208db4865c62aacf35e3dc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae92d6e8e0474dd9d4a40642aaee347f5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html#ae92d6e8e0474dd9d4a40642aaee347f5">~Client_session_impl</a> ()</td></tr>
<tr class="memdesc:ae92d6e8e0474dd9d4a40642aaee347f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html#ae92d6e8e0474dd9d4a40642aaee347f5">More...</a><br /></td></tr>
<tr class="separator:ae92d6e8e0474dd9d4a40642aaee347f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa15e045f4062fae5f2f4f6280719757d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html#aa15e045f4062fae5f2f4f6280719757d">sync_connect</a> (<a class="el" href="namespaceipc.html#aa3192e586cc45d3e7c22463bf2760f89">Error_code</a> *err_code)</td></tr>
<tr class="memdesc:aa15e045f4062fae5f2f4f6280719757d"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__mv.html">Client_session_mv</a> counterpart.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html#aa15e045f4062fae5f2f4f6280719757d">More...</a><br /></td></tr>
<tr class="separator:aa15e045f4062fae5f2f4f6280719757d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0074bef702ab1b30d5f5234c10ac1435"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html#a0074bef702ab1b30d5f5234c10ac1435">sync_connect</a> (const typename <a class="el" href="classipc_1_1session_1_1Session__base.html#a4a7a5b83f6ba8bd505685636eabc012b">Base::Base::Base::Mdt_builder_ptr</a> &amp;mdt, typename <a class="el" href="classipc_1_1session_1_1Session__base.html#a638232ef74a0eb80aeb4f027ee06f9bf">Base::Base::Base::Channels</a> *init_channels_by_cli_req_pre_sized, typename <a class="el" href="classipc_1_1session_1_1Session__base.html#ace4dab42adec6354cc66081dd218ac71">Base::Base::Base::Mdt_reader_ptr</a> *mdt_from_srv_or_null, typename <a class="el" href="classipc_1_1session_1_1Session__base.html#a638232ef74a0eb80aeb4f027ee06f9bf">Base::Base::Base::Channels</a> *init_channels_by_srv_req, <a class="el" href="namespaceipc.html#aa3192e586cc45d3e7c22463bf2760f89">Error_code</a> *err_code)</td></tr>
<tr class="memdesc:a0074bef702ab1b30d5f5234c10ac1435"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__mv.html">Client_session_mv</a> counterpart.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html#a0074bef702ab1b30d5f5234c10ac1435">More...</a><br /></td></tr>
<tr class="separator:a0074bef702ab1b30d5f5234c10ac1435"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html">ipc::session::shm::arena_lend::jemalloc::Session_impl&lt; session::Client_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload, session::schema::ShmType::JEMALLOC, true &gt; &gt;</a></td></tr>
<tr class="memitem:a24a9e7098a5f58574e8ca88a035365a7 inherit pub_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a05a924415ca44783d3ef5c0efb31f42e">Arena</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a24a9e7098a5f58574e8ca88a035365a7">session_shm</a> ()</td></tr>
<tr class="memdesc:a24a9e7098a5f58574e8ca88a035365a7 inherit pub_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See shm::arena_lend::jemalloc::Session_mv counterpart.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a24a9e7098a5f58574e8ca88a035365a7">More...</a><br /></td></tr>
<tr class="separator:a24a9e7098a5f58574e8ca88a035365a7 inherit pub_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90b16390f24a5fc481f6d00ebdb05c85 inherit pub_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a05a924415ca44783d3ef5c0efb31f42e">Arena</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a90b16390f24a5fc481f6d00ebdb05c85">session_shm_ptr</a> ()</td></tr>
<tr class="memdesc:a90b16390f24a5fc481f6d00ebdb05c85 inherit pub_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See shm::arena_lend::jemalloc::Session_mv counterpart.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a90b16390f24a5fc481f6d00ebdb05c85">More...</a><br /></td></tr>
<tr class="separator:a90b16390f24a5fc481f6d00ebdb05c85 inherit pub_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76bdd6d7541039ab356051fcc9a01afa inherit pub_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a314a767c3ed26af5e3eb0f6b640e1f1b">Blob</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a76bdd6d7541039ab356051fcc9a01afa">lend_object</a> (const typename Arena::template Handle&lt; T &gt; &amp;handle)</td></tr>
<tr class="memdesc:a76bdd6d7541039ab356051fcc9a01afa inherit pub_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See shm::arena_lend::jemalloc::Session_mv counterpart.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a76bdd6d7541039ab356051fcc9a01afa">More...</a><br /></td></tr>
<tr class="separator:a76bdd6d7541039ab356051fcc9a01afa inherit pub_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6482736670c2bfb6a8bc259bfdb17fa inherit pub_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memItemLeft" align="right" valign="top">Arena::template Handle&lt; T &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#ab6482736670c2bfb6a8bc259bfdb17fa">borrow_object</a> (const <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a314a767c3ed26af5e3eb0f6b640e1f1b">Blob</a> &amp;serialization)</td></tr>
<tr class="memdesc:ab6482736670c2bfb6a8bc259bfdb17fa inherit pub_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See shm::arena_lend::jemalloc::Session_mv counterpart.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#ab6482736670c2bfb6a8bc259bfdb17fa">More...</a><br /></td></tr>
<tr class="separator:ab6482736670c2bfb6a8bc259bfdb17fa inherit pub_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe3d48af95fb68929d056e9269a9bc30 inherit pub_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classipc_1_1session_1_1Session__base.html#aee0db48505c84d3553b7110a9a815036">Structured_msg_builder_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#abe3d48af95fb68929d056e9269a9bc30">session_shm_builder_config</a> ()</td></tr>
<tr class="memdesc:abe3d48af95fb68929d056e9269a9bc30 inherit pub_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See shm::arena_lend::jemalloc::Session_mv counterpart.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#abe3d48af95fb68929d056e9269a9bc30">More...</a><br /></td></tr>
<tr class="separator:abe3d48af95fb68929d056e9269a9bc30 inherit pub_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a393edf51b9c503ffbbdfb65a34235a0e inherit pub_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memItemLeft" align="right" valign="top">Structured_msg_builder_config::Builder::Session&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a393edf51b9c503ffbbdfb65a34235a0e">session_shm_lender_session</a> ()</td></tr>
<tr class="memdesc:a393edf51b9c503ffbbdfb65a34235a0e inherit pub_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See shm::arena_lend::jemalloc::Session_mv counterpart.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a393edf51b9c503ffbbdfb65a34235a0e">More...</a><br /></td></tr>
<tr class="separator:a393edf51b9c503ffbbdfb65a34235a0e inherit pub_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27cf1a12563f5709e31b6be0ac29289a inherit pub_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classipc_1_1session_1_1Session__base.html#abd854f2b9316361ef18f15610c242d4b">Structured_msg_reader_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a27cf1a12563f5709e31b6be0ac29289a">session_shm_reader_config</a> ()</td></tr>
<tr class="memdesc:a27cf1a12563f5709e31b6be0ac29289a inherit pub_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See shm::arena_lend::jemalloc::Session_mv counterpart.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a27cf1a12563f5709e31b6be0ac29289a">More...</a><br /></td></tr>
<tr class="separator:a27cf1a12563f5709e31b6be0ac29289a inherit pub_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf580a9b0c7ae3609cbdbeca96ab0e2e inherit pub_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classipc_1_1session_1_1Session__base.html#abd854f2b9316361ef18f15610c242d4b">Structured_msg_reader_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#abf580a9b0c7ae3609cbdbeca96ab0e2e">app_shm_reader_config</a> ()</td></tr>
<tr class="memdesc:abf580a9b0c7ae3609cbdbeca96ab0e2e inherit pub_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See shm::arena_lend::jemalloc::Session_mv counterpart.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#abf580a9b0c7ae3609cbdbeca96ab0e2e">More...</a><br /></td></tr>
<tr class="separator:abf580a9b0c7ae3609cbdbeca96ab0e2e inherit pub_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1a6a87ae71fc0b6b14a7af7aec4b2bc inherit pub_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#acde57c6511b5c4aef9079f116f8ca6a8">Shm_session</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#ab1a6a87ae71fc0b6b14a7af7aec4b2bc">shm_session</a> ()</td></tr>
<tr class="memdesc:ab1a6a87ae71fc0b6b14a7af7aec4b2bc inherit pub_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See shm::arena_lend::jemalloc::Session_mv counterpart.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#ab1a6a87ae71fc0b6b14a7af7aec4b2bc">More...</a><br /></td></tr>
<tr class="separator:ab1a6a87ae71fc0b6b14a7af7aec4b2bc inherit pub_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5979ebed1dcdb2d90b029076849fd146 inherit pub_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classipc_1_1session_1_1Session__base.html#abd854f2b9316361ef18f15610c242d4b">Structured_msg_reader_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a5979ebed1dcdb2d90b029076849fd146">shm_reader_config</a> ()</td></tr>
<tr class="memdesc:a5979ebed1dcdb2d90b029076849fd146 inherit pub_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See shm::arena_lend::jemalloc::Session_mv counterpart.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a5979ebed1dcdb2d90b029076849fd146">More...</a><br /></td></tr>
<tr class="separator:a5979ebed1dcdb2d90b029076849fd146 inherit pub_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classipc_1_1session_1_1Client__session__impl"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classipc_1_1session_1_1Client__session__impl')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classipc_1_1session_1_1Client__session__impl.html">ipc::session::Client_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload, session::schema::ShmType::JEMALLOC, true &gt;</a></td></tr>
<tr class="memitem:a8fe80ed65e416a2d1fcadb045dac0fcf inherit pub_methods_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#a8fe80ed65e416a2d1fcadb045dac0fcf">Client_session_impl</a> (flow::log::Logger *logger_ptr, const <a class="el" href="structipc_1_1session_1_1Client__app.html">Client_app</a> &amp;cli_app_ref, const <a class="el" href="structipc_1_1session_1_1Server__app.html">Server_app</a> &amp;srv_app_ref, Task_err &amp;&amp;on_err_func, On_passive_open_channel_handler &amp;&amp;on_passive_open_channel_func)</td></tr>
<tr class="memdesc:a8fe80ed65e416a2d1fcadb045dac0fcf inherit pub_methods_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Client_session_mv counterpart.  <a href="classipc_1_1session_1_1Client__session__impl.html#a8fe80ed65e416a2d1fcadb045dac0fcf">More...</a><br /></td></tr>
<tr class="separator:a8fe80ed65e416a2d1fcadb045dac0fcf inherit pub_methods_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0edcc39889b5f68492eb9156dc7a9b7a inherit pub_methods_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#a0edcc39889b5f68492eb9156dc7a9b7a">Client_session_impl</a> (flow::log::Logger *logger_ptr, const <a class="el" href="structipc_1_1session_1_1Client__app.html">Client_app</a> &amp;cli_app_ref, const <a class="el" href="structipc_1_1session_1_1Server__app.html">Server_app</a> &amp;srv_app_ref, Task_err &amp;&amp;on_err_func)</td></tr>
<tr class="memdesc:a0edcc39889b5f68492eb9156dc7a9b7a inherit pub_methods_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Client_session_mv counterpart.  <a href="classipc_1_1session_1_1Client__session__impl.html#a0edcc39889b5f68492eb9156dc7a9b7a">More...</a><br /></td></tr>
<tr class="separator:a0edcc39889b5f68492eb9156dc7a9b7a inherit pub_methods_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa12539a1a446cffb097f70cba8166088 inherit pub_methods_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#aa12539a1a446cffb097f70cba8166088">~Client_session_impl</a> ()</td></tr>
<tr class="memdesc:aa12539a1a446cffb097f70cba8166088 inherit pub_methods_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Client_session_mv counterpart.  <a href="classipc_1_1session_1_1Client__session__impl.html#aa12539a1a446cffb097f70cba8166088">More...</a><br /></td></tr>
<tr class="separator:aa12539a1a446cffb097f70cba8166088 inherit pub_methods_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ecad909e1013271ff365437f2fdae85 inherit pub_methods_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classipc_1_1session_1_1Session__base.html#a4a7a5b83f6ba8bd505685636eabc012b">Mdt_builder_ptr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#a7ecad909e1013271ff365437f2fdae85">mdt_builder</a> () const</td></tr>
<tr class="memdesc:a7ecad909e1013271ff365437f2fdae85 inherit pub_methods_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Client_session_mv counterpart.  <a href="classipc_1_1session_1_1Client__session__impl.html#a7ecad909e1013271ff365437f2fdae85">More...</a><br /></td></tr>
<tr class="separator:a7ecad909e1013271ff365437f2fdae85 inherit pub_methods_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf622f5f111ffa95d4ec6c636cfddb4a inherit pub_methods_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#aaf622f5f111ffa95d4ec6c636cfddb4a">sync_connect</a> (<a class="el" href="namespaceipc.html#aa3192e586cc45d3e7c22463bf2760f89">Error_code</a> *err_code)</td></tr>
<tr class="memdesc:aaf622f5f111ffa95d4ec6c636cfddb4a inherit pub_methods_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Client_session_mv counterpart.  <a href="classipc_1_1session_1_1Client__session__impl.html#aaf622f5f111ffa95d4ec6c636cfddb4a">More...</a><br /></td></tr>
<tr class="separator:aaf622f5f111ffa95d4ec6c636cfddb4a inherit pub_methods_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa60d7f50f9a9bec95c627778f1556be0 inherit pub_methods_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#aa60d7f50f9a9bec95c627778f1556be0">sync_connect</a> (const <a class="el" href="classipc_1_1session_1_1Session__base.html#a4a7a5b83f6ba8bd505685636eabc012b">Mdt_builder_ptr</a> &amp;mdt, <a class="el" href="classipc_1_1session_1_1Session__base.html#a638232ef74a0eb80aeb4f027ee06f9bf">Channels</a> *init_channels_by_cli_req_pre_sized, <a class="el" href="classipc_1_1session_1_1Session__base.html#ace4dab42adec6354cc66081dd218ac71">Mdt_reader_ptr</a> *mdt_from_srv_or_null, <a class="el" href="classipc_1_1session_1_1Session__base.html#a638232ef74a0eb80aeb4f027ee06f9bf">Channels</a> *init_channels_by_srv_req, <a class="el" href="namespaceipc.html#aa3192e586cc45d3e7c22463bf2760f89">Error_code</a> *err_code)</td></tr>
<tr class="memdesc:aa60d7f50f9a9bec95c627778f1556be0 inherit pub_methods_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Client_session_mv counterpart.  <a href="classipc_1_1session_1_1Client__session__impl.html#aa60d7f50f9a9bec95c627778f1556be0">More...</a><br /></td></tr>
<tr class="separator:aa60d7f50f9a9bec95c627778f1556be0 inherit pub_methods_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a377590fbf55b6d312f24d888d2a1bd inherit pub_methods_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#a4a377590fbf55b6d312f24d888d2a1bd">open_channel</a> (<a class="el" href="classipc_1_1session_1_1Session__base.html#a71f02a809d667c23ff8af29a96940bd1">Channel_obj</a> *target_channel, const <a class="el" href="classipc_1_1session_1_1Session__base.html#a4a7a5b83f6ba8bd505685636eabc012b">Mdt_builder_ptr</a> &amp;mdt, <a class="el" href="namespaceipc.html#aa3192e586cc45d3e7c22463bf2760f89">Error_code</a> *err_code)</td></tr>
<tr class="memdesc:a4a377590fbf55b6d312f24d888d2a1bd inherit pub_methods_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Client_session_mv counterpart.  <a href="classipc_1_1session_1_1Client__session__impl.html#a4a377590fbf55b6d312f24d888d2a1bd">More...</a><br /></td></tr>
<tr class="separator:a4a377590fbf55b6d312f24d888d2a1bd inherit pub_methods_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acaca4c5b8e56cf4cd29b5cc886993ded inherit pub_methods_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#acaca4c5b8e56cf4cd29b5cc886993ded">open_channel</a> (<a class="el" href="classipc_1_1session_1_1Session__base.html#a71f02a809d667c23ff8af29a96940bd1">Channel_obj</a> *target_channel, <a class="el" href="namespaceipc.html#aa3192e586cc45d3e7c22463bf2760f89">Error_code</a> *err_code)</td></tr>
<tr class="memdesc:acaca4c5b8e56cf4cd29b5cc886993ded inherit pub_methods_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Client_session_mv counterpart.  <a href="classipc_1_1session_1_1Client__session__impl.html#acaca4c5b8e56cf4cd29b5cc886993ded">More...</a><br /></td></tr>
<tr class="separator:acaca4c5b8e56cf4cd29b5cc886993ded inherit pub_methods_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad9a5e95ffde170a6483b74f397d9169 inherit pub_methods_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceipc_1_1session.html#ade2b302f1a3623e8adc9694568d94d2c">Session_token</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#aad9a5e95ffde170a6483b74f397d9169">session_token</a> () const</td></tr>
<tr class="memdesc:aad9a5e95ffde170a6483b74f397d9169 inherit pub_methods_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Client_session_mv counterpart.  <a href="classipc_1_1session_1_1Client__session__impl.html#aad9a5e95ffde170a6483b74f397d9169">More...</a><br /></td></tr>
<tr class="separator:aad9a5e95ffde170a6483b74f397d9169 inherit pub_methods_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classipc_1_1session_1_1Session__base"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classipc_1_1session_1_1Session__base')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classipc_1_1session_1_1Session__base.html">ipc::session::Session_base&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;</a></td></tr>
<tr class="memitem:a4d1327608d6067ed6690bd4efa323c6f inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceipc_1_1session.html#a6d07d9996af19e57eb42416e914110ea">Shared_name</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a4d1327608d6067ed6690bd4efa323c6f">srv_namespace</a> () const</td></tr>
<tr class="memdesc:a4d1327608d6067ed6690bd4efa323c6f inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Server__session__impl.html" title="Internal, non-movable pImpl-lite implementation of Server_session_mv class template.">Server_session_impl</a>, <a class="el" href="classipc_1_1session_1_1Client__session__impl.html" title="Internal, non-movable pImpl-lite implementation of Client_session_mv class template.">Client_session_impl</a>.  <a href="classipc_1_1session_1_1Session__base.html#a4d1327608d6067ed6690bd4efa323c6f">More...</a><br /></td></tr>
<tr class="separator:a4d1327608d6067ed6690bd4efa323c6f inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd1e814b3b640f4bdaa2553352405f26 inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceipc_1_1session.html#a6d07d9996af19e57eb42416e914110ea">Shared_name</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#abd1e814b3b640f4bdaa2553352405f26">cli_namespace</a> () const</td></tr>
<tr class="memdesc:abd1e814b3b640f4bdaa2553352405f26 inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Server__session__impl.html" title="Internal, non-movable pImpl-lite implementation of Server_session_mv class template.">Server_session_impl</a>, <a class="el" href="classipc_1_1session_1_1Client__session__impl.html" title="Internal, non-movable pImpl-lite implementation of Client_session_mv class template.">Client_session_impl</a>.  <a href="classipc_1_1session_1_1Session__base.html#abd1e814b3b640f4bdaa2553352405f26">More...</a><br /></td></tr>
<tr class="separator:abd1e814b3b640f4bdaa2553352405f26 inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ebdafe7e70719e6d12dd0b15ae85106 inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structipc_1_1session_1_1Client__app.html">Client_app</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a3ebdafe7e70719e6d12dd0b15ae85106">cli_app_ptr</a> () const</td></tr>
<tr class="memdesc:a3ebdafe7e70719e6d12dd0b15ae85106 inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Server__session__impl.html" title="Internal, non-movable pImpl-lite implementation of Server_session_mv class template.">Server_session_impl</a>, <a class="el" href="classipc_1_1session_1_1Client__session__impl.html" title="Internal, non-movable pImpl-lite implementation of Client_session_mv class template.">Client_session_impl</a>.  <a href="classipc_1_1session_1_1Session__base.html#a3ebdafe7e70719e6d12dd0b15ae85106">More...</a><br /></td></tr>
<tr class="separator:a3ebdafe7e70719e6d12dd0b15ae85106 inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09cbe99083616bae00928f8e37c8373b inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceipc_1_1session.html#a6d07d9996af19e57eb42416e914110ea">Shared_name</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a09cbe99083616bae00928f8e37c8373b">cur_ns_store_mutex_absolute_name</a> () const</td></tr>
<tr class="memdesc:a09cbe99083616bae00928f8e37c8373b inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the name of the interprocess named-mutex used to control reading/writing to the file storing (written by server, read by client) the value for <a class="el" href="classipc_1_1session_1_1Session__base.html#a4d1327608d6067ed6690bd4efa323c6f" title="See Server_session_impl, Client_session_impl.">srv_namespace()</a>.  <a href="classipc_1_1session_1_1Session__base.html#a09cbe99083616bae00928f8e37c8373b">More...</a><br /></td></tr>
<tr class="separator:a09cbe99083616bae00928f8e37c8373b inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af059faab56cdf384873f9f2aba8f79cf inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">fs::path&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#af059faab56cdf384873f9f2aba8f79cf">cur_ns_store_absolute_path</a> () const</td></tr>
<tr class="memdesc:af059faab56cdf384873f9f2aba8f79cf inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the absolute path to file storing (written by server, read by client) the value for <a class="el" href="classipc_1_1session_1_1Session__base.html#a4d1327608d6067ed6690bd4efa323c6f" title="See Server_session_impl, Client_session_impl.">srv_namespace()</a>.  <a href="classipc_1_1session_1_1Session__base.html#af059faab56cdf384873f9f2aba8f79cf">More...</a><br /></td></tr>
<tr class="separator:af059faab56cdf384873f9f2aba8f79cf inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d34c5a9c283a6b7c8ab943f344cdd28 inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceipc_1_1session.html#a6d07d9996af19e57eb42416e914110ea">Shared_name</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a3d34c5a9c283a6b7c8ab943f344cdd28">session_master_socket_stream_acceptor_absolute_name</a> () const</td></tr>
<tr class="memdesc:a3d34c5a9c283a6b7c8ab943f344cdd28 inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the absolute name at which the server shall set up a <a class="el" href="classipc_1_1transport_1_1Native__socket__stream__acceptor.html" title="A server object that binds to a Shared_name and listens for incoming Native_socket_stream connect att...">transport::Native_socket_stream_acceptor</a> to which client shall <a class="el" href="classipc_1_1transport_1_1Native__socket__stream.html#a89d591db714e83dcb55a52738fed1ebb" title="To be invoked in NULL state only, it synchronously and non-blockingly attempts to connect to an oppos...">transport::Native_socket_stream::sync_connect()</a> in order to establish a PEER-state session.  <a href="classipc_1_1session_1_1Session__base.html#a3d34c5a9c283a6b7c8ab943f344cdd28">More...</a><br /></td></tr>
<tr class="separator:a3d34c5a9c283a6b7c8ab943f344cdd28 inherit pub_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-methods" name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:abe4bd95f3ffe3db708b304397cffd8e0"><td class="memTemplParams" colspan="2">template&lt;typename Task_err &gt; </td></tr>
<tr class="memitem:abe4bd95f3ffe3db708b304397cffd8e0"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html#abe4bd95f3ffe3db708b304397cffd8e0">async_connect</a> (const typename <a class="el" href="classipc_1_1session_1_1Session__base.html#a4a7a5b83f6ba8bd505685636eabc012b">Base::Base::Base::Mdt_builder_ptr</a> &amp;mdt, typename <a class="el" href="classipc_1_1session_1_1Session__base.html#a638232ef74a0eb80aeb4f027ee06f9bf">Base::Base::Base::Channels</a> *init_channels_by_cli_req_pre_sized, typename <a class="el" href="classipc_1_1session_1_1Session__base.html#ace4dab42adec6354cc66081dd218ac71">Base::Base::Base::Mdt_reader_ptr</a> *mdt_from_srv_or_null, typename <a class="el" href="classipc_1_1session_1_1Session__base.html#a638232ef74a0eb80aeb4f027ee06f9bf">Base::Base::Base::Channels</a> *init_channels_by_srv_req, Task_err &amp;&amp;on_done_func)</td></tr>
<tr class="memdesc:abe4bd95f3ffe3db708b304397cffd8e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Client__session__impl.html" title="Internal, non-movable pImpl-lite implementation of Client_session_mv class template.">session::Client_session_impl</a> counterpart.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html#abe4bd95f3ffe3db708b304397cffd8e0">More...</a><br /></td></tr>
<tr class="separator:abe4bd95f3ffe3db708b304397cffd8e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a697e64450297808bb9ca5c6a870c1fe9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html#a697e64450297808bb9ca5c6a870c1fe9">cleanup</a> ()</td></tr>
<tr class="memdesc:a697e64450297808bb9ca5c6a870c1fe9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoked on <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html#a992fd889ad66447d938032e049dada11" title="Thread used for low-priority periodic low-priority cleanup work.">m_async_cleanup_worker</a>, performs a round of the SHM-pool cleanup algorithm and schedules same.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html#a697e64450297808bb9ca5c6a870c1fe9">More...</a><br /></td></tr>
<tr class="separator:a697e64450297808bb9ca5c6a870c1fe9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:ad1cf86692c17aa00fb175996d825f11f"><td class="memItemLeft" align="right" valign="top">ipc::shm::arena_lend::Owner_shm_pool_listener_for_repository&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html#ad1cf86692c17aa00fb175996d825f11f">m_shm_arena_pool_listener</a></td></tr>
<tr class="memdesc:ad1cf86692c17aa00fb175996d825f11f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This guy needs to be around, with each arena (in our case, out of the box, just <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a24a9e7098a5f58574e8ca88a035365a7" title="See shm::arena_lend::jemalloc::Session_mv counterpart.">session_shm()</a>) registered against it, for shm::stl::Arena_allocator (and thus STL/allocator-compliant data structures, including containers like our own <a class="el" href="classipc_1_1transport_1_1struc_1_1shm_1_1Capnp__message__builder.html#ac2e22abe941240ffa765bff7d288ce1e" title="The outer data structured stored in SHM representing the entire list of capnp-requested segments Segm...">transport::struc::shm::Capnp_message_builder::Segments_in_shm</a>) to work properly with that arena.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html#ad1cf86692c17aa00fb175996d825f11f">More...</a><br /></td></tr>
<tr class="separator:ad1cf86692c17aa00fb175996d825f11f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a992fd889ad66447d938032e049dada11"><td class="memItemLeft" align="right" valign="top">flow::async::Single_thread_task_loop&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html#a992fd889ad66447d938032e049dada11">m_async_cleanup_worker</a></td></tr>
<tr class="memdesc:a992fd889ad66447d938032e049dada11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Thread used for low-priority periodic low-priority cleanup work.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html#a992fd889ad66447d938032e049dada11">More...</a><br /></td></tr>
<tr class="separator:a992fd889ad66447d938032e049dada11"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="related" name="related"></a>
Related Functions</h2></td></tr>
<tr><td class="ititle" colspan="2"><p >(Note that these are not member functions.) </p>
</td></tr>
<tr class="memitem:a5044ac385b12210816fc95ca1d5408b6"><td class="memTemplParams" colspan="2">template&lt;session::schema::MqType S_MQ_TYPE_OR_NONE, bool S_TRANSMIT_NATIVE_HANDLES, typename Mdt_payload &gt; </td></tr>
<tr class="memitem:a5044ac385b12210816fc95ca1d5408b6"><td class="memTemplItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html#a5044ac385b12210816fc95ca1d5408b6">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html">Client_session_impl</a>&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt; &amp;val)</td></tr>
<tr class="memdesc:a5044ac385b12210816fc95ca1d5408b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints string representation of the given <code><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html" title="Core internally-used implementation of shm::arena_lend::jemalloc::Client_session: it is to the latter...">Client_session_impl</a></code> to the given <code>ostream</code>.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html#a5044ac385b12210816fc95ca1d5408b6">More...</a><br /></td></tr>
<tr class="separator:a5044ac385b12210816fc95ca1d5408b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header related_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td colspan="2" onclick="javascript:toggleInherit('related_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl')"><img src="closed.png" alt="-"/>&#160;Related Functions inherited from <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html">ipc::session::shm::arena_lend::jemalloc::Session_impl&lt; session::Client_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload, session::schema::ShmType::JEMALLOC, true &gt; &gt;</a></td></tr>
<tr class="memitem:a9e281c0e15ff899034ca059aa9e0e4f6 inherit related_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a9e281c0e15ff899034ca059aa9e0e4f6">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html">Session_impl</a>&lt; <a class="el" href="classipc_1_1session_1_1Client__session__impl.html">session::Client_session_impl</a>&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload, session::schema::ShmType::JEMALLOC, true &gt; &gt; &amp;val)</td></tr>
<tr class="memdesc:a9e281c0e15ff899034ca059aa9e0e4f6 inherit related_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints string representation of the given <code>Session_impl</code> to the given <code>ostream</code>.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a9e281c0e15ff899034ca059aa9e0e4f6">More...</a><br /></td></tr>
<tr class="separator:a9e281c0e15ff899034ca059aa9e0e4f6 inherit related_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header related_classipc_1_1session_1_1Client__session__impl"><td colspan="2" onclick="javascript:toggleInherit('related_classipc_1_1session_1_1Client__session__impl')"><img src="closed.png" alt="-"/>&#160;Related Functions inherited from <a class="el" href="classipc_1_1session_1_1Client__session__impl.html">ipc::session::Client_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload, session::schema::ShmType::JEMALLOC, true &gt;</a></td></tr>
<tr class="memitem:a7c3b6df1a8dab3a2c31b3ad492aa5d8a inherit related_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#a7c3b6df1a8dab3a2c31b3ad492aa5d8a">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classipc_1_1session_1_1Client__session__impl.html">Client_session_impl</a>&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload, S_SHM_TYPE_OR_NONE, S_GRACEFUL_FINISH_REQUIRED_V &gt; &amp;val)</td></tr>
<tr class="memdesc:a7c3b6df1a8dab3a2c31b3ad492aa5d8a inherit related_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints string representation of the given <code>Client_session_impl</code> to the given <code>ostream</code>.  <a href="classipc_1_1session_1_1Client__session__impl.html#a7c3b6df1a8dab3a2c31b3ad492aa5d8a">More...</a><br /></td></tr>
<tr class="separator:a7c3b6df1a8dab3a2c31b3ad492aa5d8a inherit related_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_static_methods_classipc_1_1session_1_1Session__base"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classipc_1_1session_1_1Session__base')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classipc_1_1session_1_1Session__base.html">ipc::session::Session_base&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;</a></td></tr>
<tr class="memitem:a08b3d69a6707dcbb233076b7a48de285 inherit pub_static_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classipc_1_1session_1_1Session__base.html#aee0db48505c84d3553b7110a9a815036">Structured_msg_builder_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a08b3d69a6707dcbb233076b7a48de285">heap_fixed_builder_config</a> (flow::log::Logger *logger_ptr)</td></tr>
<tr class="memdesc:a08b3d69a6707dcbb233076b7a48de285 inherit pub_static_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Session__mv.html#a107684fdd5d233549c6daac26a81a542" title="Utility that obtains a heap-based (non-zero-copy) Struct_builder::Config, constructed with the most e...">Session_mv::heap_fixed_builder_config()</a> (1-arg).  <a href="classipc_1_1session_1_1Session__base.html#a08b3d69a6707dcbb233076b7a48de285">More...</a><br /></td></tr>
<tr class="separator:a08b3d69a6707dcbb233076b7a48de285 inherit pub_static_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a489bb6ec7726e39e78dcd4dd2fe3de75 inherit pub_static_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classipc_1_1session_1_1Session__base.html#abd854f2b9316361ef18f15610c242d4b">Structured_msg_reader_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a489bb6ec7726e39e78dcd4dd2fe3de75">heap_reader_config</a> (flow::log::Logger *logger_ptr)</td></tr>
<tr class="memdesc:a489bb6ec7726e39e78dcd4dd2fe3de75 inherit pub_static_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Session__mv.html#ab3c69e3f8ccbd70d315bed86d697255d" title="Deserializing counterpart to non-static heap_fixed_builder_config().">Session_mv::heap_reader_config()</a> (1-arg).  <a href="classipc_1_1session_1_1Session__base.html#a489bb6ec7726e39e78dcd4dd2fe3de75">More...</a><br /></td></tr>
<tr class="separator:a489bb6ec7726e39e78dcd4dd2fe3de75 inherit pub_static_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_attribs_classipc_1_1session_1_1Session__base"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_classipc_1_1session_1_1Session__base')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="classipc_1_1session_1_1Session__base.html">ipc::session::Session_base&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;</a></td></tr>
<tr class="memitem:afd32d90b86d699263a0f02637dd7c6c6 inherit pub_attribs_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structipc_1_1session_1_1Server__app.html">Server_app</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#afd32d90b86d699263a0f02637dd7c6c6">m_srv_app_ref</a></td></tr>
<tr class="memdesc:afd32d90b86d699263a0f02637dd7c6c6 inherit pub_attribs_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reference to <a class="el" href="structipc_1_1session_1_1Server__app.html" title="An App that is used as a server in at least one client-server IPC split.">Server_app</a> (referring to local process in <a class="el" href="classipc_1_1session_1_1Server__session__impl.html" title="Internal, non-movable pImpl-lite implementation of Server_session_mv class template.">Server_session_impl</a>, opposing process in <a class="el" href="classipc_1_1session_1_1Client__session__impl.html" title="Internal, non-movable pImpl-lite implementation of Client_session_mv class template.">Client_session_impl</a>).  <a href="classipc_1_1session_1_1Session__base.html#afd32d90b86d699263a0f02637dd7c6c6">More...</a><br /></td></tr>
<tr class="separator:afd32d90b86d699263a0f02637dd7c6c6 inherit pub_attribs_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_static_attribs_classipc_1_1session_1_1Client__session__impl"><td colspan="2" onclick="javascript:toggleInherit('pub_static_attribs_classipc_1_1session_1_1Client__session__impl')"><img src="closed.png" alt="-"/>&#160;Static Public Attributes inherited from <a class="el" href="classipc_1_1session_1_1Client__session__impl.html">ipc::session::Client_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload, session::schema::ShmType::JEMALLOC, true &gt;</a></td></tr>
<tr class="memitem:a1b34618ce1160871a4b16f4ecc3e86e6 inherit pub_static_attribs_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top">static constexpr schema::ShmType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#a1b34618ce1160871a4b16f4ecc3e86e6">S_SHM_TYPE</a></td></tr>
<tr class="memdesc:a1b34618ce1160871a4b16f4ecc3e86e6 inherit pub_static_attribs_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Session_mv counterpart.  <a href="classipc_1_1session_1_1Client__session__impl.html#a1b34618ce1160871a4b16f4ecc3e86e6">More...</a><br /></td></tr>
<tr class="separator:a1b34618ce1160871a4b16f4ecc3e86e6 inherit pub_static_attribs_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20f1ea81df379ff8153ba14f56b7f035 inherit pub_static_attribs_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top">static constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#a20f1ea81df379ff8153ba14f56b7f035">S_SHM_ENABLED</a></td></tr>
<tr class="memdesc:a20f1ea81df379ff8153ba14f56b7f035 inherit pub_static_attribs_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Session_mv counterpart.  <a href="classipc_1_1session_1_1Client__session__impl.html#a20f1ea81df379ff8153ba14f56b7f035">More...</a><br /></td></tr>
<tr class="separator:a20f1ea81df379ff8153ba14f56b7f035 inherit pub_static_attribs_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4036fbd01410a9befc7c541368d92704 inherit pub_static_attribs_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top">static constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#a4036fbd01410a9befc7c541368d92704">S_MQS_ENABLED</a></td></tr>
<tr class="memdesc:a4036fbd01410a9befc7c541368d92704 inherit pub_static_attribs_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Client_session_mv counterpart.  <a href="classipc_1_1session_1_1Client__session__impl.html#a4036fbd01410a9befc7c541368d92704">More...</a><br /></td></tr>
<tr class="separator:a4036fbd01410a9befc7c541368d92704 inherit pub_static_attribs_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac28652995339005a7afeb467b33b3b62 inherit pub_static_attribs_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top">static constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#ac28652995339005a7afeb467b33b3b62">S_SOCKET_STREAM_ENABLED</a></td></tr>
<tr class="memdesc:ac28652995339005a7afeb467b33b3b62 inherit pub_static_attribs_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Client_session_mv counterpart.  <a href="classipc_1_1session_1_1Client__session__impl.html#ac28652995339005a7afeb467b33b3b62">More...</a><br /></td></tr>
<tr class="separator:ac28652995339005a7afeb467b33b3b62 inherit pub_static_attribs_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65fe6d3d227016858428a170db961cc7 inherit pub_static_attribs_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top">static constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#a65fe6d3d227016858428a170db961cc7">S_GRACEFUL_FINISH_REQUIRED</a></td></tr>
<tr class="memdesc:a65fe6d3d227016858428a170db961cc7 inherit pub_static_attribs_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Short-hand for template parameter knob <code>S_GRACEFUL_FINISH_REQUIRED_V</code>: see class template doc header.  <a href="classipc_1_1session_1_1Client__session__impl.html#a65fe6d3d227016858428a170db961cc7">More...</a><br /></td></tr>
<tr class="separator:a65fe6d3d227016858428a170db961cc7 inherit pub_static_attribs_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_static_attribs_classipc_1_1session_1_1Session__base"><td colspan="2" onclick="javascript:toggleInherit('pub_static_attribs_classipc_1_1session_1_1Session__base')"><img src="closed.png" alt="-"/>&#160;Static Public Attributes inherited from <a class="el" href="classipc_1_1session_1_1Session__base.html">ipc::session::Session_base&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;</a></td></tr>
<tr class="memitem:a27a5731a648effb6b4b42f0312affa74 inherit pub_static_attribs_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">static constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a27a5731a648effb6b4b42f0312affa74">S_MQS_ENABLED</a> = S_MQ_TYPE_OR_NONE != schema::MqType::NONE</td></tr>
<tr class="memdesc:a27a5731a648effb6b4b42f0312affa74 inherit pub_static_attribs_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Session__mv.html" title="Implements the Session concept when it is in PEER state.">Session_mv</a>.  <a href="classipc_1_1session_1_1Session__base.html#a27a5731a648effb6b4b42f0312affa74">More...</a><br /></td></tr>
<tr class="separator:a27a5731a648effb6b4b42f0312affa74 inherit pub_static_attribs_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f7c4243c8bd55930f51a568884c8aaf inherit pub_static_attribs_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">static constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a1f7c4243c8bd55930f51a568884c8aaf">S_SOCKET_STREAM_ENABLED</a> = (!<a class="el" href="classipc_1_1session_1_1Session__base.html#a27a5731a648effb6b4b42f0312affa74">S_MQS_ENABLED</a>) || S_TRANSMIT_NATIVE_HANDLES</td></tr>
<tr class="memdesc:a1f7c4243c8bd55930f51a568884c8aaf inherit pub_static_attribs_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1Session__mv.html" title="Implements the Session concept when it is in PEER state.">Session_mv</a>.  <a href="classipc_1_1session_1_1Session__base.html#a1f7c4243c8bd55930f51a568884c8aaf">More...</a><br /></td></tr>
<tr class="separator:a1f7c4243c8bd55930f51a568884c8aaf inherit pub_static_attribs_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_types_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td colspan="2" onclick="javascript:toggleInherit('pro_types_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl')"><img src="closed.png" alt="-"/>&#160;Protected Types inherited from <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html">ipc::session::shm::arena_lend::jemalloc::Session_impl&lt; session::Client_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload, session::schema::ShmType::JEMALLOC, true &gt; &gt;</a></td></tr>
<tr class="memitem:a39b9fc08a109f79471b7606842e3a8de inherit pro_types_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a39b9fc08a109f79471b7606842e3a8de">Shm_session_ptr</a> = std::shared_ptr&lt; <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#acde57c6511b5c4aef9079f116f8ca6a8">Shm_session</a> &gt;</td></tr>
<tr class="memdesc:a39b9fc08a109f79471b7606842e3a8de inherit pro_types_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">How the SHM-provider refers to a <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#acde57c6511b5c4aef9079f116f8ca6a8" title="See shm::arena_lend::jemalloc::Session_mv counterpart for public description.">Shm_session</a>.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a39b9fc08a109f79471b7606842e3a8de">More...</a><br /></td></tr>
<tr class="separator:a39b9fc08a109f79471b7606842e3a8de inherit pro_types_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_types_classipc_1_1session_1_1Client__session__impl"><td colspan="2" onclick="javascript:toggleInherit('pro_types_classipc_1_1session_1_1Client__session__impl')"><img src="closed.png" alt="-"/>&#160;Protected Types inherited from <a class="el" href="classipc_1_1session_1_1Client__session__impl.html">ipc::session::Client_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload, session::schema::ShmType::JEMALLOC, true &gt;</a></td></tr>
<tr class="memitem:a4c62a381340b0f494c4f117960bfca2b inherit pro_types_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#a4c62a381340b0f494c4f117960bfca2b">Master_structured_channel</a> = typename <a class="el" href="classipc_1_1session_1_1Session__base.html#a26d038e14e3c0e461e76de88c4ce76c5">Base::Master_structured_channel</a></td></tr>
<tr class="memdesc:a4c62a381340b0f494c4f117960bfca2b inherit pro_types_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">See Session_base.  <a href="classipc_1_1session_1_1Client__session__impl.html#a4c62a381340b0f494c4f117960bfca2b">More...</a><br /></td></tr>
<tr class="separator:a4c62a381340b0f494c4f117960bfca2b inherit pro_types_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_types_classipc_1_1session_1_1Session__base"><td colspan="2" onclick="javascript:toggleInherit('pro_types_classipc_1_1session_1_1Session__base')"><img src="closed.png" alt="-"/>&#160;Protected Types inherited from <a class="el" href="classipc_1_1session_1_1Session__base.html">ipc::session::Session_base&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;</a></td></tr>
<tr class="memitem:a26d038e14e3c0e461e76de88c4ce76c5 inherit pro_types_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a26d038e14e3c0e461e76de88c4ce76c5">Master_structured_channel</a> = <a class="el" href="namespaceipc_1_1transport_1_1struc.html#aca041b0efd4a9ae18e10088b2ee3c052">transport::struc::Channel_via_heap</a>&lt; <a class="el" href="classipc_1_1transport_1_1Socket__stream__channel.html">transport::Socket_stream_channel</a>&lt; true &gt;, schema::detail::SessionMasterChannelMessageBody&lt; <a class="el" href="classipc_1_1session_1_1Session__base.html#a35234981ca87cc2f6b118b3e52452ea8">Mdt_payload_obj</a> &gt; &gt;</td></tr>
<tr class="memdesc:a26d038e14e3c0e461e76de88c4ce76c5 inherit pro_types_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">The (internally used) session master channel is a <a class="el" href="classipc_1_1transport_1_1struc_1_1Channel.html" title="Owning and wrapping a pre-connected transport::Channel peer (an endpoint of an established channel ov...">transport::struc::Channel</a> of this concrete type.  <a href="classipc_1_1session_1_1Session__base.html#a26d038e14e3c0e461e76de88c4ce76c5">More...</a><br /></td></tr>
<tr class="separator:a26d038e14e3c0e461e76de88c4ce76c5 inherit pro_types_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0ca2a01d7d0d92038aae56fc1cdd505 inherit pro_types_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#af0ca2a01d7d0d92038aae56fc1cdd505">Master_structured_channel_ptr</a> = boost::shared_ptr&lt; <a class="el" href="classipc_1_1session_1_1Session__base.html#a26d038e14e3c0e461e76de88c4ce76c5">Master_structured_channel</a> &gt;</td></tr>
<tr class="memdesc:af0ca2a01d7d0d92038aae56fc1cdd505 inherit pro_types_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handle to <a class="el" href="classipc_1_1session_1_1Session__base.html#a26d038e14e3c0e461e76de88c4ce76c5" title="The (internally used) session master channel is a transport::struc::Channel of this concrete type.">Master_structured_channel</a>.  <a href="classipc_1_1session_1_1Session__base.html#af0ca2a01d7d0d92038aae56fc1cdd505">More...</a><br /></td></tr>
<tr class="separator:af0ca2a01d7d0d92038aae56fc1cdd505 inherit pro_types_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2a123b29dd044a638e94d1f294c8f28 inherit pro_types_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#ae2a123b29dd044a638e94d1f294c8f28">Master_structured_channel_observer</a> = boost::weak_ptr&lt; <a class="el" href="classipc_1_1session_1_1Session__base.html#a26d038e14e3c0e461e76de88c4ce76c5">Master_structured_channel</a> &gt;</td></tr>
<tr class="memdesc:ae2a123b29dd044a638e94d1f294c8f28 inherit pro_types_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Observer of <a class="el" href="classipc_1_1session_1_1Session__base.html#af0ca2a01d7d0d92038aae56fc1cdd505" title="Handle to Master_structured_channel.">Master_structured_channel_ptr</a>. See its doc header.  <a href="classipc_1_1session_1_1Session__base.html#ae2a123b29dd044a638e94d1f294c8f28">More...</a><br /></td></tr>
<tr class="separator:ae2a123b29dd044a638e94d1f294c8f28 inherit pro_types_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c0824a54ef32915c5c5ea76481f2409 inherit pro_types_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a3c0824a54ef32915c5c5ea76481f2409">On_passive_open_channel_func</a> = <a class="el" href="namespaceipc.html#aa455c7f045059736578ca275fc1a851f">Function</a>&lt; void(<a class="el" href="classipc_1_1session_1_1Session__base.html#a71f02a809d667c23ff8af29a96940bd1">Channel_obj</a> &amp;&amp;new_channel, <a class="el" href="classipc_1_1session_1_1Session__base.html#ace4dab42adec6354cc66081dd218ac71">Mdt_reader_ptr</a> &amp;&amp;new_channel_mdt)&gt;</td></tr>
<tr class="memdesc:a3c0824a54ef32915c5c5ea76481f2409 inherit pro_types_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Concrete function type for the on-passive-open handler (if any), used for storage.  <a href="classipc_1_1session_1_1Session__base.html#a3c0824a54ef32915c5c5ea76481f2409">More...</a><br /></td></tr>
<tr class="separator:a3c0824a54ef32915c5c5ea76481f2409 inherit pro_types_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html">ipc::session::shm::arena_lend::jemalloc::Session_impl&lt; session::Client_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload, session::schema::ShmType::JEMALLOC, true &gt; &gt;</a></td></tr>
<tr class="memitem:a46155078d8764c71a8d75db64345074b inherit pro_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceipc.html#aa3192e586cc45d3e7c22463bf2760f89">Error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a46155078d8764c71a8d75db64345074b">init_shm</a> (<a class="el" href="structipc_1_1util_1_1Native__handle.html">util::Native_handle</a> &amp;&amp;local_hndl, const <a class="el" href="namespaceipc_1_1session.html#a6d07d9996af19e57eb42416e914110ea">Shared_name</a> &amp;pool_name_fragment_or_empty, const std::shared_ptr&lt; <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a05a924415ca44783d3ef5c0efb31f42e">Arena</a> &gt; &amp;app_shm_or_null={})</td></tr>
<tr class="memdesc:a46155078d8764c71a8d75db64345074b inherit pro_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">To be invoked at most once, synchronously sets up nearly-all aspects of this arena-lending-SHM-capable <code>Session</code>; the prerequisite from sub-class <code>_impl</code> being that the possibly-asynchronous steps leading up to this have been completed successfully.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a46155078d8764c71a8d75db64345074b">More...</a><br /></td></tr>
<tr class="separator:a46155078d8764c71a8d75db64345074b inherit pro_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6a0c754becd19900b19f14b849bb5e7 inherit pro_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#ab6a0c754becd19900b19f14b849bb5e7">reset_shm</a> ()</td></tr>
<tr class="memdesc:ab6a0c754becd19900b19f14b849bb5e7 inherit pro_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Undoes init_shm_arenas(), namely destroying <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#ab1a6a87ae71fc0b6b14a7af7aec4b2bc" title="See shm::arena_lend::jemalloc::Session_mv counterpart.">shm_session()</a> pointee and <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a24a9e7098a5f58574e8ca88a035365a7" title="See shm::arena_lend::jemalloc::Session_mv counterpart.">session_shm()</a> pointee.  <a href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#ab6a0c754becd19900b19f14b849bb5e7">More...</a><br /></td></tr>
<tr class="separator:ab6a0c754becd19900b19f14b849bb5e7 inherit pro_methods_classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classipc_1_1session_1_1Client__session__impl"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classipc_1_1session_1_1Client__session__impl')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classipc_1_1session_1_1Client__session__impl.html">ipc::session::Client_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload, session::schema::ShmType::JEMALLOC, true &gt;</a></td></tr>
<tr class="memitem:a1a7560109fa2aa2c16d4f4159918e2c2 inherit pro_methods_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#a1a7560109fa2aa2c16d4f4159918e2c2">sync_connect_impl</a> (<a class="el" href="namespaceipc.html#aa3192e586cc45d3e7c22463bf2760f89">Error_code</a> *err_code, <a class="el" href="namespaceipc.html#aa455c7f045059736578ca275fc1a851f">Function</a>&lt; bool(flow::async::Task_asio_err &amp;&amp;)&gt; *async_connect_impl_func)</td></tr>
<tr class="memdesc:a1a7560109fa2aa2c16d4f4159918e2c2 inherit pro_methods_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Utility for <code>*this</code> and sub-classes: Implements <a class="el" href="classipc_1_1session_1_1Client__session__impl.html#aaf622f5f111ffa95d4ec6c636cfddb4a" title="See Client_session_mv counterpart.">sync_connect()</a> given a functor that invokes the calling class's (including Client_session_impl) <a class="el" href="classipc_1_1session_1_1Client__session__impl.html#a56c0d2b0ff082d1f7b0738e2528b4a92" title="Core implementation of sync_connect().">async_connect()</a> with the args passed to the calling <a class="el" href="classipc_1_1session_1_1Client__session__impl.html#aaf622f5f111ffa95d4ec6c636cfddb4a" title="See Client_session_mv counterpart.">sync_connect()</a>.  <a href="classipc_1_1session_1_1Client__session__impl.html#a1a7560109fa2aa2c16d4f4159918e2c2">More...</a><br /></td></tr>
<tr class="separator:a1a7560109fa2aa2c16d4f4159918e2c2 inherit pro_methods_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56c0d2b0ff082d1f7b0738e2528b4a92 inherit pro_methods_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#a56c0d2b0ff082d1f7b0738e2528b4a92">async_connect</a> (const <a class="el" href="classipc_1_1session_1_1Session__base.html#a4a7a5b83f6ba8bd505685636eabc012b">Mdt_builder_ptr</a> &amp;mdt, <a class="el" href="classipc_1_1session_1_1Session__base.html#a638232ef74a0eb80aeb4f027ee06f9bf">Channels</a> *init_channels_by_cli_req_pre_sized, <a class="el" href="classipc_1_1session_1_1Session__base.html#ace4dab42adec6354cc66081dd218ac71">Mdt_reader_ptr</a> *mdt_from_srv_or_null, <a class="el" href="classipc_1_1session_1_1Session__base.html#a638232ef74a0eb80aeb4f027ee06f9bf">Channels</a> *init_channels_by_srv_req, Task_err &amp;&amp;on_done_func)</td></tr>
<tr class="memdesc:a56c0d2b0ff082d1f7b0738e2528b4a92 inherit pro_methods_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Core implementation of <a class="el" href="classipc_1_1session_1_1Client__session__impl.html#aaf622f5f111ffa95d4ec6c636cfddb4a" title="See Client_session_mv counterpart.">sync_connect()</a>.  <a href="classipc_1_1session_1_1Client__session__impl.html#a56c0d2b0ff082d1f7b0738e2528b4a92">More...</a><br /></td></tr>
<tr class="separator:a56c0d2b0ff082d1f7b0738e2528b4a92 inherit pro_methods_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43d56aeae47d1fa815178ebd0ae1ff48 inherit pro_methods_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#a43d56aeae47d1fa815178ebd0ae1ff48">cancel_peer_state_to_null</a> ()</td></tr>
<tr class="memdesc:a43d56aeae47d1fa815178ebd0ae1ff48 inherit pro_methods_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Utility for sub-classes: executed from <a class="el" href="classipc_1_1session_1_1Client__session__impl.html#a56c0d2b0ff082d1f7b0738e2528b4a92" title="Core implementation of sync_connect().">async_connect()</a>'s <code>on_done_func(Error_code())</code> (i.e., directly from handler invoked on success) &ndash; hence from thread W &ndash; this instead goes back to NULL state, essentially indicating "never mind -- this successful async_connect() actually failed.".  <a href="classipc_1_1session_1_1Client__session__impl.html#a43d56aeae47d1fa815178ebd0ae1ff48">More...</a><br /></td></tr>
<tr class="separator:a43d56aeae47d1fa815178ebd0ae1ff48 inherit pro_methods_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adac4cba3aefa629566f182a240b4cedd inherit pro_methods_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classipc_1_1session_1_1Session__base.html#a26d038e14e3c0e461e76de88c4ce76c5">Master_structured_channel</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#adac4cba3aefa629566f182a240b4cedd">cancel_peer_state_to_connecting</a> (Task_err &amp;&amp;on_done_func)</td></tr>
<tr class="memdesc:adac4cba3aefa629566f182a240b4cedd inherit pro_methods_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Utility for sub-classes: executed from <a class="el" href="classipc_1_1session_1_1Client__session__impl.html#a56c0d2b0ff082d1f7b0738e2528b4a92" title="Core implementation of sync_connect().">async_connect()</a>'s <code>on_done_func(Error_code())</code> (i.e., directly from handler invoked on success) &ndash; hence from thread W &ndash; this instead goes back to CONNECTING state, essentially indicating "yes, the vanilla <a class="el" href="classipc_1_1session_1_1Client__session__impl.html#a56c0d2b0ff082d1f7b0738e2528b4a92" title="Core implementation of sync_connect().">async_connect()</a> succeeded, but the true user-called <a class="el" href="classipc_1_1session_1_1Client__session__impl.html#a56c0d2b0ff082d1f7b0738e2528b4a92" title="Core implementation of sync_connect().">async_connect()</a> that piggybacked on the vanilla one will now do some more async stuff before reaching PEER state (or NULL on error).  <a href="classipc_1_1session_1_1Client__session__impl.html#adac4cba3aefa629566f182a240b4cedd">More...</a><br /></td></tr>
<tr class="separator:adac4cba3aefa629566f182a240b4cedd inherit pro_methods_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a313e2fc3d4017232bad4fac2baae20a4 inherit pro_methods_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#a313e2fc3d4017232bad4fac2baae20a4">complete_async_connect_after_canceling_peer_state</a> (const <a class="el" href="namespaceipc.html#aa3192e586cc45d3e7c22463bf2760f89">Error_code</a> &amp;err_code_or_success)</td></tr>
<tr class="memdesc:a313e2fc3d4017232bad4fac2baae20a4 inherit pro_methods_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Utility for sub-classes: to be invoked, only from thread W and asynchronously at that, after <a class="el" href="classipc_1_1session_1_1Client__session__impl.html#adac4cba3aefa629566f182a240b4cedd" title="Utility for sub-classes: executed from async_connect()&#39;s on_done_func(Error_code()) (i....">cancel_peer_state_to_connecting()</a>, this indicates the completion of the sub-class's additional async-connect steps, setting state to either NULL or PEER.  <a href="classipc_1_1session_1_1Client__session__impl.html#a313e2fc3d4017232bad4fac2baae20a4">More...</a><br /></td></tr>
<tr class="separator:a313e2fc3d4017232bad4fac2baae20a4 inherit pro_methods_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab792f2389fd035827ae8dbead1650b78 inherit pro_methods_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top">flow::async::Single_thread_task_loop *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#ab792f2389fd035827ae8dbead1650b78">async_worker</a> ()</td></tr>
<tr class="memdesc:ab792f2389fd035827ae8dbead1650b78 inherit pro_methods_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Utility for sub-classes: provides ability to schedule or post tasks onto thread W.  <a href="classipc_1_1session_1_1Client__session__impl.html#ab792f2389fd035827ae8dbead1650b78">More...</a><br /></td></tr>
<tr class="separator:ab792f2389fd035827ae8dbead1650b78 inherit pro_methods_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f156b23ce19cd878c3e83330e63f56f inherit pro_methods_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classipc_1_1session_1_1Session__base.html#a26d038e14e3c0e461e76de88c4ce76c5">Master_structured_channel</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#a5f156b23ce19cd878c3e83330e63f56f">master_channel_const</a> () const</td></tr>
<tr class="memdesc:a5f156b23ce19cd878c3e83330e63f56f inherit pro_methods_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Utility for sub-classes: provides ability to <em>immutably query</em> the session master channel, particularly after our async_accept_log_in() succeeds, but before the sub-classed wrapper of its on-done handler succeeds.  <a href="classipc_1_1session_1_1Client__session__impl.html#a5f156b23ce19cd878c3e83330e63f56f">More...</a><br /></td></tr>
<tr class="separator:a5f156b23ce19cd878c3e83330e63f56f inherit pro_methods_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb09c3a23b7e63938b9a494cec6e769b inherit pro_methods_classipc_1_1session_1_1Client__session__impl"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Client__session__impl.html#afb09c3a23b7e63938b9a494cec6e769b">dtor_async_worker_stop</a> ()</td></tr>
<tr class="memdesc:afb09c3a23b7e63938b9a494cec6e769b inherit pro_methods_classipc_1_1session_1_1Client__session__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Synchronously stops <a class="el" href="classipc_1_1session_1_1Client__session__impl.html#ab792f2389fd035827ae8dbead1650b78" title="Utility for sub-classes: provides ability to schedule or post tasks onto thread W.">async_worker()</a> loop, the post-condition being that thread W has been joined; no tasks <code>post()</code>ed onto it by <code>*this</code> or subclass shall execute after this returns.  <a href="classipc_1_1session_1_1Client__session__impl.html#afb09c3a23b7e63938b9a494cec6e769b">More...</a><br /></td></tr>
<tr class="separator:afb09c3a23b7e63938b9a494cec6e769b inherit pro_methods_classipc_1_1session_1_1Client__session__impl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classipc_1_1session_1_1Session__base"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classipc_1_1session_1_1Session__base')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classipc_1_1session_1_1Session__base.html">ipc::session::Session_base&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;</a></td></tr>
<tr class="memitem:aab2db8b2cdb3d8189c1cc497aed7b2b1 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#aab2db8b2cdb3d8189c1cc497aed7b2b1">Session_base</a> (const <a class="el" href="structipc_1_1session_1_1Client__app.html">Client_app</a> &amp;cli_app_ref, const <a class="el" href="structipc_1_1session_1_1Server__app.html">Server_app</a> &amp;srv_app_ref, flow::async::Task_asio_err &amp;&amp;on_err_func, <a class="el" href="classipc_1_1session_1_1Session__base.html#a3c0824a54ef32915c5c5ea76481f2409">On_passive_open_channel_func</a> &amp;&amp;on_passive_open_channel_func_or_empty_arg)</td></tr>
<tr class="memdesc:aab2db8b2cdb3d8189c1cc497aed7b2b1 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs: <a class="el" href="classipc_1_1session_1_1Client__session__impl.html" title="Internal, non-movable pImpl-lite implementation of Client_session_mv class template.">Client_session_impl</a> form (the user is the one constructing the object, though in NULL state).  <a href="classipc_1_1session_1_1Session__base.html#aab2db8b2cdb3d8189c1cc497aed7b2b1">More...</a><br /></td></tr>
<tr class="separator:aab2db8b2cdb3d8189c1cc497aed7b2b1 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d323ca75006777b3fc929bd0720f7df inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a8d323ca75006777b3fc929bd0720f7df">Session_base</a> (const <a class="el" href="structipc_1_1session_1_1Server__app.html">Server_app</a> &amp;srv_app_ref)</td></tr>
<tr class="memdesc:a8d323ca75006777b3fc929bd0720f7df inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs: <a class="el" href="classipc_1_1session_1_1Server__session__impl.html" title="Internal, non-movable pImpl-lite implementation of Server_session_mv class template.">Server_session_impl</a> form (<a class="el" href="classipc_1_1session_1_1Session__server.html" title="To be instantiated typically once in a given process, an object of this type asynchronously listens f...">Session_server</a> is the one constructing the object, though in NULL state, before log-in has completed, but after the socket-stream connection has been established).  <a href="classipc_1_1session_1_1Session__base.html#a8d323ca75006777b3fc929bd0720f7df">More...</a><br /></td></tr>
<tr class="separator:a8d323ca75006777b3fc929bd0720f7df inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28825fcdeaf1249a7bf810a3b2ca7c38 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a28825fcdeaf1249a7bf810a3b2ca7c38">set_srv_namespace</a> (<a class="el" href="namespaceipc_1_1session.html#a6d07d9996af19e57eb42416e914110ea">Shared_name</a> &amp;&amp;srv_namespace_new)</td></tr>
<tr class="memdesc:a28825fcdeaf1249a7bf810a3b2ca7c38 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets <a class="el" href="classipc_1_1session_1_1Session__base.html#a4d1327608d6067ed6690bd4efa323c6f" title="See Server_session_impl, Client_session_impl.">srv_namespace()</a> (do not call if already set).  <a href="classipc_1_1session_1_1Session__base.html#a28825fcdeaf1249a7bf810a3b2ca7c38">More...</a><br /></td></tr>
<tr class="separator:a28825fcdeaf1249a7bf810a3b2ca7c38 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8cc7a4faa098e0f71c737f44c34d593c inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a8cc7a4faa098e0f71c737f44c34d593c">set_cli_namespace</a> (<a class="el" href="namespaceipc_1_1session.html#a6d07d9996af19e57eb42416e914110ea">Shared_name</a> &amp;&amp;cli_namespace_new)</td></tr>
<tr class="memdesc:a8cc7a4faa098e0f71c737f44c34d593c inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets <a class="el" href="classipc_1_1session_1_1Session__base.html#abd1e814b3b640f4bdaa2553352405f26" title="See Server_session_impl, Client_session_impl.">cli_namespace()</a> (do not call if already set).  <a href="classipc_1_1session_1_1Session__base.html#a8cc7a4faa098e0f71c737f44c34d593c">More...</a><br /></td></tr>
<tr class="separator:a8cc7a4faa098e0f71c737f44c34d593c inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60a081ce0f85651202d23b4d543d093c inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a60a081ce0f85651202d23b4d543d093c">set_cli_app_ptr</a> (const <a class="el" href="structipc_1_1session_1_1Client__app.html">Client_app</a> *cli_app_ptr_new)</td></tr>
<tr class="memdesc:a60a081ce0f85651202d23b4d543d093c inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets <a class="el" href="classipc_1_1session_1_1Session__base.html#a3ebdafe7e70719e6d12dd0b15ae85106" title="See Server_session_impl, Client_session_impl.">cli_app_ptr()</a> (do not call if already set).  <a href="classipc_1_1session_1_1Session__base.html#a60a081ce0f85651202d23b4d543d093c">More...</a><br /></td></tr>
<tr class="separator:a60a081ce0f85651202d23b4d543d093c inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3be1a385c905404621b58c23332b0b96 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a3be1a385c905404621b58c23332b0b96">set_on_passive_open_channel_func</a> (<a class="el" href="classipc_1_1session_1_1Session__base.html#a3c0824a54ef32915c5c5ea76481f2409">On_passive_open_channel_func</a> &amp;&amp;on_passive_open_channel_func)</td></tr>
<tr class="memdesc:a3be1a385c905404621b58c23332b0b96 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets <a class="el" href="classipc_1_1session_1_1Session__base.html#a21b146b02d257d95f4aaeaca12b8d320" title="The on-passive-open handler (may be empty even in final state, meaning user wants passive-opens disab...">on_passive_open_channel_func_or_empty()</a> (do not call if already set; do not call if user intends for passive-opens to be disabled on this side).  <a href="classipc_1_1session_1_1Session__base.html#a3be1a385c905404621b58c23332b0b96">More...</a><br /></td></tr>
<tr class="separator:a3be1a385c905404621b58c23332b0b96 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae769a82bdec0d16702111ad06716faae inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#ae769a82bdec0d16702111ad06716faae">set_on_err_func</a> (flow::async::Task_asio_err &amp;&amp;on_err_func_arg)</td></tr>
<tr class="memdesc:ae769a82bdec0d16702111ad06716faae inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets on_err_func() (do not call if already set).  <a href="classipc_1_1session_1_1Session__base.html#ae769a82bdec0d16702111ad06716faae">More...</a><br /></td></tr>
<tr class="separator:ae769a82bdec0d16702111ad06716faae inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca82817beaac36d0006c44012f9fef03 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#aca82817beaac36d0006c44012f9fef03">on_err_func_set</a> () const</td></tr>
<tr class="memdesc:aca82817beaac36d0006c44012f9fef03 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns <code>true</code> if and only if <a class="el" href="classipc_1_1session_1_1Session__base.html#ae769a82bdec0d16702111ad06716faae" title="Sets on_err_func() (do not call if already set).">set_on_err_func()</a> has been called.  <a href="classipc_1_1session_1_1Session__base.html#aca82817beaac36d0006c44012f9fef03">More...</a><br /></td></tr>
<tr class="separator:aca82817beaac36d0006c44012f9fef03 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21b146b02d257d95f4aaeaca12b8d320 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classipc_1_1session_1_1Session__base.html#a3c0824a54ef32915c5c5ea76481f2409">On_passive_open_channel_func</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a21b146b02d257d95f4aaeaca12b8d320">on_passive_open_channel_func_or_empty</a> () const</td></tr>
<tr class="memdesc:a21b146b02d257d95f4aaeaca12b8d320 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">The on-passive-open handler (may be empty even in final state, meaning user wants passive-opens disabled on this side).  <a href="classipc_1_1session_1_1Session__base.html#a21b146b02d257d95f4aaeaca12b8d320">More...</a><br /></td></tr>
<tr class="separator:a21b146b02d257d95f4aaeaca12b8d320 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f9e67dccbab4f3191734c2834bafb63 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a7f9e67dccbab4f3191734c2834bafb63">hose</a> (const <a class="el" href="namespaceipc.html#aa3192e586cc45d3e7c22463bf2760f89">Error_code</a> &amp;err_code)</td></tr>
<tr class="memdesc:a7f9e67dccbab4f3191734c2834bafb63 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marks this session as hosed for (truthy) reason <code>err_code</code>; and <em>synchronously</em> invokes on-error handler; only invoke if not already <a class="el" href="classipc_1_1session_1_1Session__base.html#a398f3e6a30b3fae8e110af9fd1ff75e3" title="Returns true if and only if hose() has been called.">hosed()</a>.  <a href="classipc_1_1session_1_1Session__base.html#a7f9e67dccbab4f3191734c2834bafb63">More...</a><br /></td></tr>
<tr class="separator:a7f9e67dccbab4f3191734c2834bafb63 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a398f3e6a30b3fae8e110af9fd1ff75e3 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#a398f3e6a30b3fae8e110af9fd1ff75e3">hosed</a> () const</td></tr>
<tr class="memdesc:a398f3e6a30b3fae8e110af9fd1ff75e3 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns <code>true</code> if and only if <a class="el" href="classipc_1_1session_1_1Session__base.html#a7f9e67dccbab4f3191734c2834bafb63" title="Marks this session as hosed for (truthy) reason err_code; and synchronously invokes on-error handler;...">hose()</a> has been called.  <a href="classipc_1_1session_1_1Session__base.html#a398f3e6a30b3fae8e110af9fd1ff75e3">More...</a><br /></td></tr>
<tr class="separator:a398f3e6a30b3fae8e110af9fd1ff75e3 inherit pro_methods_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_static_attribs_classipc_1_1session_1_1Session__base"><td colspan="2" onclick="javascript:toggleInherit('pro_static_attribs_classipc_1_1session_1_1Session__base')"><img src="closed.png" alt="-"/>&#160;Static Protected Attributes inherited from <a class="el" href="classipc_1_1session_1_1Session__base.html">ipc::session::Session_base&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;</a></td></tr>
<tr class="memitem:ae68b7b80ff82ba5cde28a53fa52a5095 inherit pro_static_attribs_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">static constexpr <a class="el" href="namespaceipc_1_1util.html#ac66141280c3b7295a86b65209f31cc58">util::Fine_duration</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#ae68b7b80ff82ba5cde28a53fa52a5095">S_OPEN_CHANNEL_TIMEOUT</a> = boost::chrono::seconds(60)</td></tr>
<tr class="memdesc:ae68b7b80ff82ba5cde28a53fa52a5095 inherit pro_static_attribs_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal timeout for <code>open_channel()</code>.  <a href="classipc_1_1session_1_1Session__base.html#ae68b7b80ff82ba5cde28a53fa52a5095">More...</a><br /></td></tr>
<tr class="separator:ae68b7b80ff82ba5cde28a53fa52a5095 inherit pro_static_attribs_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0b52934c6b1204cb3ba676480727d27 inherit pro_static_attribs_classipc_1_1session_1_1Session__base"><td class="memItemLeft" align="right" valign="top">static constexpr size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1Session__base.html#af0b52934c6b1204cb3ba676480727d27">S_MQS_MAX_MSG_SZ</a> = 8 * 1024</td></tr>
<tr class="memdesc:af0b52934c6b1204cb3ba676480727d27 inherit pro_static_attribs_classipc_1_1session_1_1Session__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">The max sendable MQ message size as decided by <a class="el" href="classipc_1_1session_1_1Server__session__impl.html#a84d54a57d3e06c064cde737d1f4be472" title="Helper for create_channel_and_resources(), invoked and compiled if and only if S_MQS_ENABLED,...">Server_session_impl::make_channel_mqs()</a> (and imposed on both sides, both directions), if <a class="el" href="classipc_1_1session_1_1Session__base.html#a27a5731a648effb6b4b42f0312affa74" title="See Session_mv.">S_MQS_ENABLED</a> <em>and</em> <a class="el" href="classipc_1_1session_1_1Server__session__impl.html#a1ded7990451b90f29e11f8fa7ce0e80b" title="See Session_mv counterpart.">Server_session_impl::S_SHM_ENABLED</a> is <code>false</code>, when a channel is opened (regardless of which side did the active-open or requested pre-opening at session start).  <a href="classipc_1_1session_1_1Session__base.html#af0b52934c6b1204cb3ba676480727d27">More...</a><br /></td></tr>
<tr class="separator:af0b52934c6b1204cb3ba676480727d27 inherit pro_static_attribs_classipc_1_1session_1_1Session__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><div class="compoundTemplParams">template&lt;session::schema::MqType S_MQ_TYPE_OR_NONE, bool S_TRANSMIT_NATIVE_HANDLES, typename Mdt_payload&gt;<br />
class ipc::session::shm::arena_lend::jemalloc::Client_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;</div><p >Core internally-used implementation of <a class="el" href="namespaceipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc.html#a837b4566cb2a734eb0ba58f285d084fe" title="This is to session::Client_session what shm::arena_lend::jemalloc::Server_session is to session::Serv...">shm::arena_lend::jemalloc::Client_session</a>: it is to the latter what its <code>public</code> super-class <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html" title="Core internally-used implementation of shm::arena_lend::jemalloc::Client_session: it is to the latter...">Client_session_impl</a> is to <a class="el" href="namespaceipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc.html#a837b4566cb2a734eb0ba58f285d084fe" title="This is to session::Client_session what shm::arena_lend::jemalloc::Server_session is to session::Serv...">Client_session</a>. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="namespaceipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc.html#a837b4566cb2a734eb0ba58f285d084fe" title="This is to session::Client_session what shm::arena_lend::jemalloc::Server_session is to session::Serv...">shm::arena_lend::jemalloc::Client_session</a> doc header which covers both its public behavior/API and a detailed sketch of the entire implementation.</dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">S_MQ_TYPE_OR_NONE</td><td>See <a class="el" href="namespaceipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc.html#a837b4566cb2a734eb0ba58f285d084fe" title="This is to session::Client_session what shm::arena_lend::jemalloc::Server_session is to session::Serv...">shm::arena_lend::jemalloc::Client_session</a> counterpart. </td></tr>
    <tr><td class="paramname">S_TRANSMIT_NATIVE_HANDLES</td><td>See <a class="el" href="namespaceipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc.html#a837b4566cb2a734eb0ba58f285d084fe" title="This is to session::Client_session what shm::arena_lend::jemalloc::Server_session is to session::Serv...">shm::arena_lend::jemalloc::Client_session</a> counterpart. </td></tr>
    <tr><td class="paramname">Mdt_payload</td><td>See <a class="el" href="namespaceipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc.html#a837b4566cb2a734eb0ba58f285d084fe" title="This is to session::Client_session what shm::arena_lend::jemalloc::Server_session is to session::Serv...">shm::arena_lend::jemalloc::Client_session</a> counterpart. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="ipc__shm__arena__lend_2src_2ipc_2session_2detail_2shm_2arena__lend_2jemalloc_2client__session__impl_8hpp_source.html#l00054">54</a> of file <a class="el" href="ipc__shm__arena__lend_2src_2ipc_2session_2detail_2shm_2arena__lend_2jemalloc_2client__session__impl_8hpp_source.html">client_session_impl.hpp</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="adcac8ed7fad784120c032276510dc409" name="adcac8ed7fad784120c032276510dc409"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adcac8ed7fad784120c032276510dc409">&#9670;&nbsp;</a></span>Base</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;session::schema::MqType S_MQ_TYPE_OR_NONE, bool S_TRANSMIT_NATIVE_HANDLES, typename Mdt_payload &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html">ipc::session::shm::arena_lend::jemalloc::Client_session_impl</a>&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;::Base =  <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html">Session_impl</a> &lt;<a class="el" href="classipc_1_1session_1_1Client__session__impl.html">session::Client_session_impl</a>&lt;S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload, session::schema::ShmType::JEMALLOC, true&gt; &gt;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Short-hand for our non-<code>virtual</code> base. </p>

<p class="definition">Definition at line <a class="el" href="ipc__shm__arena__lend_2src_2ipc_2session_2detail_2shm_2arena__lend_2jemalloc_2client__session__impl_8hpp_source.html#l00064">64</a> of file <a class="el" href="ipc__shm__arena__lend_2src_2ipc_2session_2detail_2shm_2arena__lend_2jemalloc_2client__session__impl_8hpp_source.html">client_session_impl.hpp</a>.</p>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a2b5cecc4850a58fd597542df2fc4c890" name="a2b5cecc4850a58fd597542df2fc4c890"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b5cecc4850a58fd597542df2fc4c890">&#9670;&nbsp;</a></span>Client_session_impl() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;session::schema::MqType S_MQ_TYPE_OR_NONE, bool S_TRANSMIT_NATIVE_HANDLES, typename Mdt_payload &gt; </div>
<div class="memtemplate">
template&lt;typename On_passive_open_channel_handler , typename Task_err &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html">ipc::session::shm::arena_lend::jemalloc::Client_session_impl</a>&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;::Client_session_impl </td>
          <td>(</td>
          <td class="paramtype">flow::log::Logger *&#160;</td>
          <td class="paramname"><em>logger_ptr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structipc_1_1session_1_1Client__app.html">Client_app</a> &amp;&#160;</td>
          <td class="paramname"><em>cli_app_ref</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structipc_1_1session_1_1Server__app.html">Server_app</a> &amp;&#160;</td>
          <td class="paramname"><em>srv_app_ref</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Task_err &amp;&amp;&#160;</td>
          <td class="paramname"><em>on_err_func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">On_passive_open_channel_handler &amp;&amp;&#160;</td>
          <td class="paramname"><em>on_passive_open_channel_func</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>See <a class="el" href="classipc_1_1session_1_1Client__session__impl.html#a8fe80ed65e416a2d1fcadb045dac0fcf" title="See Client_session_mv counterpart.">session::Client_session_impl::Client_session_impl()</a> counterpart. </p>
<p >Internally, in addition, we set up a SHM-pool cleanup algorithm.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">logger_ptr</td><td>See above. </td></tr>
    <tr><td class="paramname">cli_app_ref</td><td>See above. </td></tr>
    <tr><td class="paramname">srv_app_ref</td><td>See above. </td></tr>
    <tr><td class="paramname">on_err_func</td><td>See above. </td></tr>
    <tr><td class="paramname">on_passive_open_channel_func</td><td>See above. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="ipc__shm__arena__lend_2src_2ipc_2session_2detail_2shm_2arena__lend_2jemalloc_2client__session__impl_8hpp_source.html#l00222">222</a> of file <a class="el" href="ipc__shm__arena__lend_2src_2ipc_2session_2detail_2shm_2arena__lend_2jemalloc_2client__session__impl_8hpp_source.html">client_session_impl.hpp</a>.</p>

<p class="reference">References <a class="el" href="ipc__shm__arena__lend_2src_2ipc_2session_2detail_2shm_2arena__lend_2jemalloc_2client__session__impl_8hpp_source.html#l00471">ipc::session::shm::arena_lend::jemalloc::Client_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;::cleanup()</a>, and <a class="el" href="ipc__shm__arena__lend_2src_2ipc_2session_2detail_2shm_2arena__lend_2jemalloc_2client__session__impl_8hpp_source.html#l00206">ipc::session::shm::arena_lend::jemalloc::Client_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;::m_async_cleanup_worker</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl_a2b5cecc4850a58fd597542df2fc4c890_cgraph.svg" width="775" height="159"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>

</div>
</div>
<a id="a90282a453208db4865c62aacf35e3dc3" name="a90282a453208db4865c62aacf35e3dc3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a90282a453208db4865c62aacf35e3dc3">&#9670;&nbsp;</a></span>Client_session_impl() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;session::schema::MqType S_MQ_TYPE_OR_NONE, bool S_TRANSMIT_NATIVE_HANDLES, typename Mdt_payload &gt; </div>
<div class="memtemplate">
template&lt;typename Task_err &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html">ipc::session::shm::arena_lend::jemalloc::Client_session_impl</a>&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;::Client_session_impl </td>
          <td>(</td>
          <td class="paramtype">flow::log::Logger *&#160;</td>
          <td class="paramname"><em>logger_ptr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structipc_1_1session_1_1Client__app.html">Client_app</a> &amp;&#160;</td>
          <td class="paramname"><em>cli_app_ref</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structipc_1_1session_1_1Server__app.html">Server_app</a> &amp;&#160;</td>
          <td class="paramname"><em>srv_app_ref</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Task_err &amp;&amp;&#160;</td>
          <td class="paramname"><em>on_err_func</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>See <a class="el" href="classipc_1_1session_1_1Client__session__impl.html#a8fe80ed65e416a2d1fcadb045dac0fcf" title="See Client_session_mv counterpart.">session::Client_session_impl::Client_session_impl()</a> counterpart. </p>
<p >Internally, in addition, we set up a SHM-pool cleanup algorithm.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">logger_ptr</td><td>See above. </td></tr>
    <tr><td class="paramname">cli_app_ref</td><td>See above. </td></tr>
    <tr><td class="paramname">srv_app_ref</td><td>See above. </td></tr>
    <tr><td class="paramname">on_err_func</td><td>See above. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="ipc__shm__arena__lend_2src_2ipc_2session_2detail_2shm_2arena__lend_2jemalloc_2client__session__impl_8hpp_source.html#l00236">236</a> of file <a class="el" href="ipc__shm__arena__lend_2src_2ipc_2session_2detail_2shm_2arena__lend_2jemalloc_2client__session__impl_8hpp_source.html">client_session_impl.hpp</a>.</p>

<p class="reference">References <a class="el" href="ipc__shm__arena__lend_2src_2ipc_2session_2detail_2shm_2arena__lend_2jemalloc_2client__session__impl_8hpp_source.html#l00471">ipc::session::shm::arena_lend::jemalloc::Client_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;::cleanup()</a>, and <a class="el" href="ipc__shm__arena__lend_2src_2ipc_2session_2detail_2shm_2arena__lend_2jemalloc_2client__session__impl_8hpp_source.html#l00206">ipc::session::shm::arena_lend::jemalloc::Client_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;::m_async_cleanup_worker</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl_a90282a453208db4865c62aacf35e3dc3_cgraph.svg" width="775" height="159"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>

</div>
</div>
<a id="ae92d6e8e0474dd9d4a40642aaee347f5" name="ae92d6e8e0474dd9d4a40642aaee347f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae92d6e8e0474dd9d4a40642aaee347f5">&#9670;&nbsp;</a></span>~Client_session_impl()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;session::schema::MqType S_MQ_TYPE_OR_NONE, bool S_TRANSMIT_NATIVE_HANDLES, typename Mdt_payload &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html">ipc::session::shm::arena_lend::jemalloc::Client_session_impl</a>&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;::~<a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html">Client_session_impl</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Destructor. </p>
<p >Internally: at least does what it must according to <a class="el" href="classipc_1_1session_1_1Client__session__impl.html#afb09c3a23b7e63938b9a494cec6e769b" title="Synchronously stops async_worker() loop, the post-condition being that thread W has been joined; no t...">session::Client_session_impl::dtor_async_worker_stop()</a> doc header contract. See inside for comment more resembling English hopefully. </p>

<p class="definition">Definition at line <a class="el" href="ipc__shm__arena__lend_2src_2ipc_2session_2detail_2shm_2arena__lend_2jemalloc_2client__session__impl_8hpp_source.html#l00248">248</a> of file <a class="el" href="ipc__shm__arena__lend_2src_2ipc_2session_2detail_2shm_2arena__lend_2jemalloc_2client__session__impl_8hpp_source.html">client_session_impl.hpp</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="abe4bd95f3ffe3db708b304397cffd8e0" name="abe4bd95f3ffe3db708b304397cffd8e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe4bd95f3ffe3db708b304397cffd8e0">&#9670;&nbsp;</a></span>async_connect()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;session::schema::MqType S_MQ_TYPE_OR_NONE, bool S_TRANSMIT_NATIVE_HANDLES, typename Mdt_payload &gt; </div>
<div class="memtemplate">
template&lt;typename Task_err &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html">ipc::session::shm::arena_lend::jemalloc::Client_session_impl</a>&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;::async_connect </td>
          <td>(</td>
          <td class="paramtype">const typename <a class="el" href="classipc_1_1session_1_1Session__base.html#a4a7a5b83f6ba8bd505685636eabc012b">Base::Base::Base::Mdt_builder_ptr</a> &amp;&#160;</td>
          <td class="paramname"><em>mdt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename <a class="el" href="classipc_1_1session_1_1Session__base.html#a638232ef74a0eb80aeb4f027ee06f9bf">Base::Base::Base::Channels</a> *&#160;</td>
          <td class="paramname"><em>init_channels_by_cli_req_pre_sized</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename <a class="el" href="classipc_1_1session_1_1Session__base.html#ace4dab42adec6354cc66081dd218ac71">Base::Base::Base::Mdt_reader_ptr</a> *&#160;</td>
          <td class="paramname"><em>mdt_from_srv_or_null</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename <a class="el" href="classipc_1_1session_1_1Session__base.html#a638232ef74a0eb80aeb4f027ee06f9bf">Base::Base::Base::Channels</a> *&#160;</td>
          <td class="paramname"><em>init_channels_by_srv_req</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Task_err &amp;&amp;&#160;</td>
          <td class="paramname"><em>on_done_func</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>See <a class="el" href="classipc_1_1session_1_1Client__session__impl.html" title="Internal, non-movable pImpl-lite implementation of Client_session_mv class template.">session::Client_session_impl</a> counterpart. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">mdt</td><td>See <a class="el" href="classipc_1_1session_1_1Client__session__impl.html" title="Internal, non-movable pImpl-lite implementation of Client_session_mv class template.">session::Client_session_impl</a> counterpart. </td></tr>
    <tr><td class="paramname">init_channels_by_cli_req_pre_sized</td><td>See <a class="el" href="classipc_1_1session_1_1Client__session__impl.html" title="Internal, non-movable pImpl-lite implementation of Client_session_mv class template.">session::Client_session_impl</a> counterpart. </td></tr>
    <tr><td class="paramname">mdt_from_srv_or_null</td><td>See <a class="el" href="classipc_1_1session_1_1Client__session__impl.html" title="Internal, non-movable pImpl-lite implementation of Client_session_mv class template.">session::Client_session_impl</a> counterpart. </td></tr>
    <tr><td class="paramname">init_channels_by_srv_req</td><td>See <a class="el" href="classipc_1_1session_1_1Client__session__impl.html" title="Internal, non-movable pImpl-lite implementation of Client_session_mv class template.">session::Client_session_impl</a> counterpart. </td></tr>
    <tr><td class="paramname">on_done_func</td><td>See <a class="el" href="classipc_1_1session_1_1Client__session__impl.html" title="Internal, non-movable pImpl-lite implementation of Client_session_mv class template.">session::Client_session_impl</a> counterpart. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>See <a class="el" href="classipc_1_1session_1_1Client__session__impl.html" title="Internal, non-movable pImpl-lite implementation of Client_session_mv class template.">session::Client_session_impl</a> counterpart. </dd></dl>

<p class="definition">Definition at line <a class="el" href="ipc__shm__arena__lend_2src_2ipc_2session_2detail_2shm_2arena__lend_2jemalloc_2client__session__impl_8hpp_source.html#l00280">280</a> of file <a class="el" href="ipc__shm__arena__lend_2src_2ipc_2session_2detail_2shm_2arena__lend_2jemalloc_2client__session__impl_8hpp_source.html">client_session_impl.hpp</a>.</p>

</div>
</div>
<a id="a697e64450297808bb9ca5c6a870c1fe9" name="a697e64450297808bb9ca5c6a870c1fe9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a697e64450297808bb9ca5c6a870c1fe9">&#9670;&nbsp;</a></span>cleanup()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;session::schema::MqType S_MQ_TYPE_OR_NONE, bool S_TRANSMIT_NATIVE_HANDLES, typename Mdt_payload &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html">ipc::session::shm::arena_lend::jemalloc::Client_session_impl</a>&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;::cleanup</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Invoked on <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html#a992fd889ad66447d938032e049dada11" title="Thread used for low-priority periodic low-priority cleanup work.">m_async_cleanup_worker</a>, performs a round of the SHM-pool cleanup algorithm and schedules same. </p>

<p class="definition">Definition at line <a class="el" href="ipc__shm__arena__lend_2src_2ipc_2session_2detail_2shm_2arena__lend_2jemalloc_2client__session__impl_8hpp_source.html#l00471">471</a> of file <a class="el" href="ipc__shm__arena__lend_2src_2ipc_2session_2detail_2shm_2arena__lend_2jemalloc_2client__session__impl_8hpp_source.html">client_session_impl.hpp</a>.</p>

<p class="reference">References <a class="el" href="ipc__session_2src_2ipc_2session_2detail_2session__shared__name_8cpp_source.html#l00114">ipc::session::decompose_conventional_shared_name()</a>, <a class="el" href="ipc__core_2src_2ipc_2util_2util_8cpp_source.html#l00134">ipc::util::process_running()</a>, <a class="el" href="shared__name_8hpp_source.html#l00312">ipc::util::Shared_name::S_RESOURCE_TYPE_ID_SHM</a>, <a class="el" href="shared__name_8hpp_source.html#l00266">ipc::util::Shared_name::S_SEPARATOR</a>, <a class="el" href="ipc__shm_2src_2ipc_2session_2detail_2shm_2classic_2session__shared__name_8cpp_source.html#l00027">ipc::session::shm::classic::SHM_SUBTYPE_PREFIX</a>, and <a class="el" href="shared__name_8cpp_source.html#l00140">ipc::util::Shared_name::str()</a>.</p>

<p class="reference">Referenced by <a class="el" href="ipc__shm__arena__lend_2src_2ipc_2session_2detail_2shm_2arena__lend_2jemalloc_2client__session__impl_8hpp_source.html#l00222">ipc::session::shm::arena_lend::jemalloc::Client_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;::Client_session_impl()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl_a697e64450297808bb9ca5c6a870c1fe9_cgraph.svg" width="590" height="159"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl_a697e64450297808bb9ca5c6a870c1fe9_icgraph.svg" width="334" height="71"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>

</div>
</div>
<a id="a0074bef702ab1b30d5f5234c10ac1435" name="a0074bef702ab1b30d5f5234c10ac1435"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0074bef702ab1b30d5f5234c10ac1435">&#9670;&nbsp;</a></span>sync_connect() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;session::schema::MqType S_MQ_TYPE_OR_NONE, bool S_TRANSMIT_NATIVE_HANDLES, typename Mdt_payload &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html">ipc::session::shm::arena_lend::jemalloc::Client_session_impl</a>&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;::sync_connect </td>
          <td>(</td>
          <td class="paramtype">const typename <a class="el" href="classipc_1_1session_1_1Session__base.html#a4a7a5b83f6ba8bd505685636eabc012b">Base::Base::Base::Mdt_builder_ptr</a> &amp;&#160;</td>
          <td class="paramname"><em>mdt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename <a class="el" href="classipc_1_1session_1_1Session__base.html#a638232ef74a0eb80aeb4f027ee06f9bf">Base::Base::Base::Channels</a> *&#160;</td>
          <td class="paramname"><em>init_channels_by_cli_req_pre_sized</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename <a class="el" href="classipc_1_1session_1_1Session__base.html#ace4dab42adec6354cc66081dd218ac71">Base::Base::Base::Mdt_reader_ptr</a> *&#160;</td>
          <td class="paramname"><em>mdt_from_srv_or_null</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename <a class="el" href="classipc_1_1session_1_1Session__base.html#a638232ef74a0eb80aeb4f027ee06f9bf">Base::Base::Base::Channels</a> *&#160;</td>
          <td class="paramname"><em>init_channels_by_srv_req</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceipc.html#aa3192e586cc45d3e7c22463bf2760f89">Error_code</a> *&#160;</td>
          <td class="paramname"><em>err_code</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>See <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__mv.html">Client_session_mv</a> counterpart. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">mdt</td><td>See <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__mv.html">Client_session_mv</a> counterpart. </td></tr>
    <tr><td class="paramname">init_channels_by_cli_req_pre_sized</td><td>See <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__mv.html">Client_session_mv</a> counterpart. </td></tr>
    <tr><td class="paramname">mdt_from_srv_or_null</td><td>See <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__mv.html">Client_session_mv</a> counterpart. </td></tr>
    <tr><td class="paramname">init_channels_by_srv_req</td><td>See <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__mv.html">Client_session_mv</a> counterpart. </td></tr>
    <tr><td class="paramname">err_code</td><td>See <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__mv.html">Client_session_mv</a> counterpart. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>See <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__mv.html">Client_session_mv</a> counterpart. </dd></dl>

<p class="definition">Definition at line <a class="el" href="ipc__shm__arena__lend_2src_2ipc_2session_2detail_2shm_2arena__lend_2jemalloc_2client__session__impl_8hpp_source.html#l00262">262</a> of file <a class="el" href="ipc__shm__arena__lend_2src_2ipc_2session_2detail_2shm_2arena__lend_2jemalloc_2client__session__impl_8hpp_source.html">client_session_impl.hpp</a>.</p>

</div>
</div>
<a id="aa15e045f4062fae5f2f4f6280719757d" name="aa15e045f4062fae5f2f4f6280719757d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa15e045f4062fae5f2f4f6280719757d">&#9670;&nbsp;</a></span>sync_connect() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;session::schema::MqType S_MQ_TYPE_OR_NONE, bool S_TRANSMIT_NATIVE_HANDLES, typename Mdt_payload &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html">ipc::session::shm::arena_lend::jemalloc::Client_session_impl</a>&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;::sync_connect </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceipc.html#aa3192e586cc45d3e7c22463bf2760f89">Error_code</a> *&#160;</td>
          <td class="paramname"><em>err_code</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>See <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__mv.html">Client_session_mv</a> counterpart. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">err_code</td><td>See <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__mv.html">Client_session_mv</a> counterpart. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>See <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__mv.html">Client_session_mv</a> counterpart. </dd></dl>

<p class="definition">Definition at line <a class="el" href="ipc__shm__arena__lend_2src_2ipc_2session_2detail_2shm_2arena__lend_2jemalloc_2client__session__impl_8hpp_source.html#l00256">256</a> of file <a class="el" href="ipc__shm__arena__lend_2src_2ipc_2session_2detail_2shm_2arena__lend_2jemalloc_2client__session__impl_8hpp_source.html">client_session_impl.hpp</a>.</p>

</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a id="a5044ac385b12210816fc95ca1d5408b6" name="a5044ac385b12210816fc95ca1d5408b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5044ac385b12210816fc95ca1d5408b6">&#9670;&nbsp;</a></span>operator&lt;&lt;()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;session::schema::MqType S_MQ_TYPE_OR_NONE, bool S_TRANSMIT_NATIVE_HANDLES, typename Mdt_payload &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::ostream &amp; operator&lt;&lt; </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&#160;</td>
          <td class="paramname"><em>os</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html">Client_session_impl</a>&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt; &amp;&#160;</td>
          <td class="paramname"><em>val</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">related</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prints string representation of the given <code><a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html" title="Core internally-used implementation of shm::arena_lend::jemalloc::Client_session: it is to the latter...">Client_session_impl</a></code> to the given <code>ostream</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">os</td><td>Stream to which to write. </td></tr>
    <tr><td class="paramname">val</td><td>Object to serialize. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>os</code>. </dd></dl>

<p class="definition">Definition at line <a class="el" href="ipc__shm__arena__lend_2src_2ipc_2session_2detail_2shm_2arena__lend_2jemalloc_2client__session__impl_8hpp_source.html#l00585">585</a> of file <a class="el" href="ipc__shm__arena__lend_2src_2ipc_2session_2detail_2shm_2arena__lend_2jemalloc_2client__session__impl_8hpp_source.html">client_session_impl.hpp</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a992fd889ad66447d938032e049dada11" name="a992fd889ad66447d938032e049dada11"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a992fd889ad66447d938032e049dada11">&#9670;&nbsp;</a></span>m_async_cleanup_worker</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;session::schema::MqType S_MQ_TYPE_OR_NONE, bool S_TRANSMIT_NATIVE_HANDLES, typename Mdt_payload &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">flow::async::Single_thread_task_loop <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html">ipc::session::shm::arena_lend::jemalloc::Client_session_impl</a>&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;::m_async_cleanup_worker</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Thread used for low-priority periodic low-priority cleanup work. </p>
<p >See <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html#a697e64450297808bb9ca5c6a870c1fe9" title="Invoked on m_async_cleanup_worker, performs a round of the SHM-pool cleanup algorithm and schedules s...">cleanup()</a>.</p>
<h3>Rationale</h3>
<p >Why not piggy-back on <a class="el" href="classipc_1_1session_1_1Client__session__impl.html" title="Internal, non-movable pImpl-lite implementation of Client_session_mv class template.">session::Client_session_impl</a>'s thread W? Answer: That guy actually does important stuff sometimes; we would not want some endless scan through /dev/shm (or whatever) to delay a channel opening or some-such. So just parallelize it. </p>

<p class="definition">Definition at line <a class="el" href="ipc__shm__arena__lend_2src_2ipc_2session_2detail_2shm_2arena__lend_2jemalloc_2client__session__impl_8hpp_source.html#l00206">206</a> of file <a class="el" href="ipc__shm__arena__lend_2src_2ipc_2session_2detail_2shm_2arena__lend_2jemalloc_2client__session__impl_8hpp_source.html">client_session_impl.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="ipc__shm__arena__lend_2src_2ipc_2session_2detail_2shm_2arena__lend_2jemalloc_2client__session__impl_8hpp_source.html#l00222">ipc::session::shm::arena_lend::jemalloc::Client_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;::Client_session_impl()</a>.</p>

</div>
</div>
<a id="ad1cf86692c17aa00fb175996d825f11f" name="ad1cf86692c17aa00fb175996d825f11f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad1cf86692c17aa00fb175996d825f11f">&#9670;&nbsp;</a></span>m_shm_arena_pool_listener</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;session::schema::MqType S_MQ_TYPE_OR_NONE, bool S_TRANSMIT_NATIVE_HANDLES, typename Mdt_payload &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ipc::shm::arena_lend::Owner_shm_pool_listener_for_repository <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Client__session__impl.html">ipc::session::shm::arena_lend::jemalloc::Client_session_impl</a>&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt;::m_shm_arena_pool_listener</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This guy needs to be around, with each arena (in our case, out of the box, just <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__impl.html#a24a9e7098a5f58574e8ca88a035365a7" title="See shm::arena_lend::jemalloc::Session_mv counterpart.">session_shm()</a>) registered against it, for shm::stl::Arena_allocator (and thus STL/allocator-compliant data structures, including containers like our own <a class="el" href="classipc_1_1transport_1_1struc_1_1shm_1_1Capnp__message__builder.html#ac2e22abe941240ffa765bff7d288ce1e" title="The outer data structured stored in SHM representing the entire list of capnp-requested segments Segm...">transport::struc::shm::Capnp_message_builder::Segments_in_shm</a>) to work properly with that arena. </p>
<p >Details:</p><ul>
<li>It is recommended there are not tons of these lying around, but in a production application there should be one <a class="el" href="namespaceipc_1_1session.html#a77d8fda00e1e17f595a6a5d4c44375e7" title="A vanilla Client_session with no optional capabilities.">session::Client_session</a> around at a time at most. So keeping this here makes sense.</li>
<li>It is <em>not</em> a problem if there is more than one per process; so if there are more sessions around in the process, it won't cause any problem. It's not a singleton situation.</li>
</ul>
<p >There is also one in each <a class="el" href="classipc_1_1session_1_1shm_1_1arena__lend_1_1jemalloc_1_1Session__server.html" title="This is to vanilla Session_server what shm::arena_lend::jemalloc::Server_session is to vanilla Server...">Session_server</a>. </p>

<p class="definition">Definition at line <a class="el" href="ipc__shm__arena__lend_2src_2ipc_2session_2detail_2shm_2arena__lend_2jemalloc_2client__session__impl_8hpp_source.html#l00196">196</a> of file <a class="el" href="ipc__shm__arena__lend_2src_2ipc_2session_2detail_2shm_2arena__lend_2jemalloc_2client__session__impl_8hpp_source.html">client_session_impl.hpp</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>session/detail/shm/arena_lend/jemalloc/<a class="el" href="ipc__shm__arena__lend_2src_2ipc_2session_2detail_2shm_2arena__lend_2jemalloc_2client__session__impl_8hpp_source.html">client_session_impl.hpp</a></li>
<li>session/detail/shm/arena_lend/jemalloc/<a class="el" href="session_2detail_2shm_2arena__lend_2jemalloc_2jemalloc__fwd_8hpp_source.html">jemalloc_fwd.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu May 2 2024 23:56:39 for Flow-IPC by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>
